CallMeV 2020-06-01
https://www.liaoxuefeng.com/wiki/1252599548343744/1303871087444002
从Java 8开始,java.time
包提供了新的日期和时间API,主要涉及的类型有:
LocalDateTime
,LocalDate
,LocalTime
;ZonedDateTime
;Instant
;ZoneId
,ZoneOffset
;Duration
。以及一套新的用于取代SimpleDateFormat
的格式化类型DateTimeFormatter
。
和旧的API相比,新API严格区分了时刻、本地日期、本地时间和带时区的日期时间,并且,对日期和时间进行运算更加方便。
此外,新API修正了旧API不合理的常量设计:
最后,新API的类型几乎全部是不变类型(和String类似),可以放心使用不必担心被修改。
public class Main { public static void main(String[] args) { // 自定义格式化: DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"); System.out.println(dtf.format(LocalDateTime.now())); // 用自定义格式解析: LocalDateTime dt2 = LocalDateTime.parse("2019/11/30 15:16:17", dtf); System.out.println(dt2); } }
注意ISO 8601规定的日期和时间分隔符是T
。标准格式如下: