java----Date

Date类概述和构造方法:
package Date;
/*
        Date类概述和构造方法

            Date代表了一个特定的时间,精确到毫秒

        方法名 public Date()
        分配一个Date对象,并初始化,以便它代表被分配的时间

        方法名 public Date(long date)
        分配一个Date对象,并初始化为表示从标准基准时间起指定的毫秒数
 */

import java.util.Date;

public class DateDemo1 {
    public static void main(String[] args) {

        //方法名 public Date()
        Date d1 = new Date();//导包
        System.out.println(d1);

        long date=1000*60*60;
        Date d2 = new Date(date);
        System.out.println(d2);



    }
}

第一个结果是当前时间!

Date类的常用方法:
package Date;

import java.util.Date;

/*
            Date类的常用方法
                public long getTime()
                获取的是日期对象从1970年1月1日,00:00:00到现在的毫秒值

                public void setTime(long time)
                设置时间,给的是毫秒值
 */
public class DateDemo2 {
    public static void main(String[] args) {
        //创建日期对象
        //public long getTime()
        Date d1 = new Date();
        d1.getTime();
        System.out.println(d1.getTime());
        System.out.println(d1.getTime()*1.0/1000/60/60/24/365+"年");

        Date d2 = new Date();
        long time=System.currentTimeMillis();
        d2.setTime(time);
        System.out.println(d2);

    }
}

 第三个结果是当前时间!

SimpleDateFormat的构造方法与格式化:
package Date;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/*
        SimpleDateFormat的构造方法:
            public SimpleDateFormat()
            构造一个SimpleDateFormat,使用默认模式和日期格式

            public SimpleDateFormat(String pattern)
            构造一个SimpleDateFormat,使用给定的模式和默认的日期格式

        格式化:
            从Date到String:
                public final String format(Date date)
                将日期格式化成字符串
            从String到Date:
                public Date parse (String source)
                从给定字符串开始解析文本以生成日期

 */
public class SimpleDateFormatDemo {
    public static void main(String[] args) throws ParseException {

        //格式化:从 Date 到String
        Date d=new Date();
        //第一种形式
        SimpleDateFormat sdf=new SimpleDateFormat();
        String s1=sdf.format(d);
        System.out.println(s1);
        //第二种形式
        SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String s2=sdf2.format(d);
        System.out.println(s2);

        System.out.println("---------");

        String s3="2030-01-01 11:11:11";
        SimpleDateFormat sdf3=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d2=sdf3.parse(s3);
        System.out.println(d2);
    }
}

案例日期工具类:
package Date.案例日期工具类;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtils {
    public static String dateToString(Date date, String format) {

        SimpleDateFormat sdf = new SimpleDateFormat(format);
        String s=sdf.format(date);
        return s;

    }

    public static Date stringToDate(String s, String format) throws ParseException {
//这里是抛出异常先不用管,后续会讲

        SimpleDateFormat sdf = new SimpleDateFormat(format);
        Date d = sdf.parse(s);
        return d;

    }
}
package Date.案例日期工具类;

import java.text.ParseException;
import java.util.Date;

public class DateDemo {
    public static void main(String[] args) throws ParseException {
        //创建日期对象
        Date d = new Date();

        String s1=DateUtils.dateToString(d,"yyyy年MM月dd日 HH:mm:ss");
        System.out.println(s1);

        String s2="2030-01-01 12:10:15";
        Date d2=DateUtils.stringToDate(s2,"yyyy-MM-dd HH:mm:ss");
        System.out.println(d2);
    }
}

Calendar:
package Date;

import java.util.Calendar;

/*
            Calendar为某一时刻和一组日历字段之间的转换提供了一些方法,
            并为操作日历字段提供了一些方法
            getlnstance用于获取Calendar对象,其日历字段已使用当前日期和时间初始化
            Calendar rightNow=Calendar.getlnstance();

            public int get​(int field) 返回给定日历字段的值。
            public abstract void add(int field,int amount) 根据日历的规则,将指定的时间量添加或减去给定的日历字段
            public final void set(int year,int month,int date)设置当前日历的年月日


 */
public class CalendarDemo {
    public static void main(String[] args) {

        Calendar c = Calendar.getInstance();
        //public int get​(int field) 返回给定日历字段的值。
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH)+1;//月是从0计起
        int date = c.get(Calendar.DATE);
        System.out.println(year+"年"+month+"月"+date+"日");

        //public abstract void add(int field,int amount) 根据日历的规则,将指定的时间量添加或减去给定的日历字段
        // 10年后的5天前
        c.add(Calendar.YEAR,10);
        c.add(Calendar.DATE,-5);
        int year2 = c.get(Calendar.YEAR);
        int month2 = c.get(Calendar.MONTH)+1;//月是从0计起
        int date2= c.get(Calendar.DATE);
        System.out.println(year2+"年"+month2+"月"+date2+"日");

        //public final void set(int year,int month,int date)设置当前日历的年月日
        c.set(2030,11,11);
        int year3 = c.get(Calendar.YEAR);
        int month3 = c.get(Calendar.MONTH)+1;//月是从0计起
        int date3 = c.get(Calendar.DATE);
        System.out.println(year3+"年"+month3+"月"+date3+"日");

    }
}

 

案例二月天:
package Date.案例二月天;

import java.util.Calendar;
import java.util.Scanner;

/*
        需求:获取任意一年的二月有多少天
 */
public class CalendarText {
    public static void main(String[] args) {

        Scanner sc=new Scanner(System.in);
        System.out.println("请输入年份:");
        int year=sc.nextInt();
        //设置日历对象的年月日
        Calendar c=Calendar.getInstance();
        c.set(year,2,1);
        //3月1往前推一天,就是2月的最后一天
        c.add(Calendar.DATE,-1);
        //获取这一天输出
        int date = c.get(Calendar.DATE);

        System.out.println(year+"年的2月份有"+date+"天");



    }

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

放码过来a

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值