1、Date类
Java提供的Date类是在java.util包下,对象既包含日期,也包含时间。大部分构造器和方法已过时了,不再推荐使用了。
Date date = new Date();
System.out.println(date.toString());
打印出来的结果
Thu Sep 15 15:32:35 CST 2022
书上说Date是一个设计糟糕的类,尽量不要使用。
2、Calendar类
Calendar日历的意思,Calendar是一个抽象类,本身不能直接实例化。
Calendar calendar = Calendar.getInstance();
date = calendar.getTime();
calendar.set(2022,9,15);
3、java8新增的日期、时间包
Clock
LocalDate
LocalTime
LocalDateTime
MonthDay
Year
这些类都是在java8中加入的,在java.time包里面。
LocalDate date = LocalDate.now();
System.out.println(date.toString());
String dateStr = "2016-05-19";
date = LocalDate.parse(dateStr);
System.out.println(date.toString());
//2022-09-15
LocalDate date = LocalDate.now();
LocalDate date1 = LocalDate.parse("2022-09-19");
Duration duration = Duration.between(date.atStartOfDay(),date1.atStartOfDay());
Long i = duration.toDays();
//4
System.out.println(i);
date1 = date.plusDays(10);
//2022-09-25
System.out.println(date1);
其实我就是想知道这两个如何相互转化,如何对日期进行计算而已,别无其他想法。
我估计着常用的也就是LocalDate和LocalTime了
说实话,我觉得java还是挺麻烦的。
总结
1、不要抱着Date类不放了,过时了。
2、Calendar太复杂啦,少用为妙。
3、新的java.time包里面的东西很齐全,抄代码就行。重点就是LocalDate和LocalTime。