java8 的日期/时间处理

时间:2023-01-13 22:10:03

Java 8 的日期/时间类型比之前版本好用,可以替代之前版本。之前版本使用Date类解决所有日期/时间问题,在Java 8 中使用LocalDate, LocalTime, LocalDateTime, Instant, Period, Duration。

使用示例

        LocalDate localDate = LocalDate.now();
        System.out.println(localDate.toString());
        System.out.println(localDate.atStartOfDay());//获取日期的凌晨零点

        LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println(localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));//将日期时间格式化成字符串
        System.out.println(localDateTime.toLocalDate());//获取日期时间的日期

        Period period = Period.between(localDate, localDate.plusYears(1L));
        System.out.println(period.toTotalMonths());//两个日期相差几个月
        Duration duration = Duration.between(localDateTime, localDateTime.plusHours(28L));
        System.out.println(duration.toDays());//两个日期时间相差几天

======输出======

2019-01-04
2019-01-04T00:00
2019-01-04 16:52:13
2019-01-04
12
1

 

 

具体使用参考文章:Java8 日期/时间(Date Time)API指南