Date类

    1、创建方法

    1. Date date=new Date(); //方式一:默认创建 获取当前系统时间 格式:Tue May 11 14:24:55 CST 2021
    2. Instant instant = Instant.now();
    3. Date date2=Date.from(instant); //方式二:基于Instant创建 Tue May 11 15:08:48 CST 2021
    4. Date date3=sdf.parse("2005-5-1 5:5:5");
    5. System.out.println(date3); //方式三:通过SimpleDateFormat解析字符串 Sun May 01 05:05:05 CST 2005

    2、getTime()

    1. long timeMillis=date.getTime(); //获得当前时间至1970年1月1日08:00:00 之间的毫秒数

    3、SimpleDateFormat

    1. SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //指定解析格式 年-月-日 时:分:秒 把一个date转换为自定义的时间格式
    2. String nowString=sdf.format(date);
    3. System.out.println(nowString); //2021-05-11 14:44:45

    4、setTime()

    1. date.setTime(3600*1000); //设置距1970年1月1日08:00:00多少毫秒后地时间 3600*1000为一个小时
    2. String now=sdf.format(date);
    3. System.out.println(now); //1970-01-01 09:00:00

    5、compareTo()

    1. Date date=new Date();
    2. date.setTime(3600*1000); //1970-01-01 09:00:00
    3. Date date1=new Date(); //2021-05-11 14:44:45
    4. int flag=date.compareTo(date1); //比较date与date1的时间大小,若date比date1小,返回-1 先等返回0 大于返回1

    Calendar类

    1、初始化

    1. Calendar calendar=Calendar.getInstance(); //方式一
    2. Calendar.Builder builder =new Calendar.Builder(); //方式二
    3. Calendar calendar1 = builder.build();

    2、getTimeInMillis()

    1. long timeMillis2=calendar.getTimeInMillis(); //获得当前时间至1970年1月1日08:00:00 之间的毫秒数

    3、getTime()

    1. Date date4=calendar.getTime(); //Tue May 11 15:22:46 CST 2021

    4、setTime()

    1. //使用给定的 Date设置此日历的时间
    2. Date date=new Date(); //Wed May 12 09:17:59 CST 2021
    3. calendar.setTime(date5);

    5、set()、get()

    1. calendar.set(2020,5,21,1,1,1); //设置指定时间
    2. int year1=calendar.getWeekYear(); //年 2020
    3. int year2=calendar.get(Calendar.YEAR); //年 2020
    4. int month=calendar.get(Calendar.MONTH); //月 5
    5. int day =calendar.get(Calendar.DAY_OF_MONTH);//日 21
    6. int hour =calendar.get(Calendar.HOUR_OF_DAY);//时 1
    7. int minute =calendar.get(Calendar.MINUTE); //分 1
    8. int seconds =calendar.get(Calendar.SECOND); //秒 1

    6、clear()

    1. Date date5=new Date(); //Wed May 12 09:22:58 CST 2021
    2. calendar.setTime(date5);
    3. calendar.clear(); //Thu Jan 01 00:00:00 CST 1970
    4. calendar.clear(Calendar.YEAR); //Tue May 12 09:22:58 CST 1970

    clear可以带参数,也不可以不带。如果不带参数,则会把整个时间都重置Thu Jan 01 00:00:00 CST 1970;如果带具体参数,如Calendar.YEAR,则会把时间中的年重置为1970