java8之前处理日期往往使用java.util.Date ,SimpleDateFormat ,java.util.Calendar。
全新的API(java.time.*)的好处是:明确了日期时间的概念,例如:瞬时(instant)
、 长短(duration)
、日期
、时间
、时区
和周期
。同时继承了Joda 库按人类语言和计算机各自解析的时间处理方式。不同于老版本,新API基于ISO标准日历系统,java.time包下的所有类都是不可变类型而且线程安全。
关键类:
示例:
1,获取当前日期
LocalDate 只获取当天的年月日日期,不包含时间。
LocalDate today = LocalDate.now(); System.out.println("Local date : " + today); Date date=new Date(); System.out.println("date : " + date); Calendar calendar=Calendar.getInstance(); Date calendarTime=calendar.getTime(); System.out.println("calendarTime:"+calendarTime);输出:
Local date : 2021-05-07
date : Fri May 07 10:40:08 CST 2021
calendarTime:Fri May 07 10:40:08 CST 2021
2,获取年,月,日
LocalDate today = LocalDate.now(); int year = today.getYear(); int month = today.getMonthValue(); int day = today.getDayOfMonth(); System.out.printf("Year : %d Month : %d day : %d ", year, month, day);输出:
Year : 2021 Month : 5 day : 7
3,处理特定日期,直接使用of传入年月日三个参数,获取localDate
LocalDate localDate = LocalDate.of(2018, 05, 07); System.out.println("The date is : " + localDate);输出:
The date is : 2018-05-07
4&#x