一、说明
Java 8 在java.time包下推出了一组全新的时间日期API,涵盖了日期、时间、日期时间、时区、时刻、间隔、时钟等
新的java.time包下的所有类都是不可变类型而且线程安全的,解决了在此之前日期时间中存在的线程安全、横跨多包、使用复杂等诸多问题
二、示例
- 1、时间和日期
// 本地时间
LocalTime lt = LocalTime.now();
// 本地日期
LocalDate ld = LocalDate.now();
// 本地日期时间
LocalDateTime ldt = LocalDateTime.now();
// 创建一个指定的时间
LocalDateTime ldt = LocalDateTime.of(2012, 2, 12, 12, 12, 12);
// 日期时间转日期或时间
LocalDate ld = ldt.toLocalDate();
LocalTime lt = ldt.toLocalTime();
- 2、字符串互转
// 格式化模版
DateTimeFormatter DATETIME19 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// 时间转字符串
String dtStr = DATETIME19.format(LocalDateTime.now());
// 字符串转时间
LocalDateTime ldt = LocalDateTime.parse(dtStr, DATETIME19);
- 3、时间运算