Java8 提供了新的日期和时间 API ,比如 LocalDateTime、LocalDate、LocalTime 等,但很多程序员由于习惯还是喜欢用 Date ,实际上新的 API 严格区分了时刻、本地日期、本地时间和带时区的日期时间,并且,对日期和时间进行运算更加方便。
在使用了 LocalDateTime 之后,很多习惯使用 SimpleDateFormat 的码农会发现用 SimpleDateFormat 格式化 LocalDateTime 比较费劲,其实 Java8 还提供了一个 DateTimeFormatter ,使用方法如下:
1 2 3 4 5 6 |
String dateTimeStr= "2023-04-10 22:02:02"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime localDateTime = LocalDateTime.parse(dateTimeStr, formatter); System.out.println(localDateTime); String format = localDateTime.format(formatter); System.out.println(format); |
使用起来非常方便,而且和 SimpleDateFormat 不同的是,DateTimeFormatter 不但是不变对象,它还是线程安全的。