一尘不染

如何使用LocalDateTime解析/格式化日期?(Java 8)

java

Java 8添加了新的java.time API,用于处理日期和时间(JSR 310)。

我将日期和时间作为字符串(例如"2019-04-08 12:30")。如何LocalDateTime从给定的字符串中获取实例?

处理完LocalDateTime对象后:如何将LocalDateTime实例转换回具有上述格式的字符串?


阅读 1493

收藏
2020-02-27

共1个答案

一尘不染

解析日期和时间

要从LocalDateTime字符串创建对象,可以使用static LocalDateTime.parse()方法。它使用字符串和a DateTimeFormatter作为参数。所述DateTimeFormatter用于指定的日期/时间模式。

String str = "1986-04-08 12:30";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
LocalDateTime dateTime = LocalDateTime.parse(str, formatter);

格式化日期和时间

要创建LocalDateTime对象的格式化字符串,可以使用format()方法。

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
LocalDateTime dateTime = LocalDateTime.of(1986, Month.APRIL, 8, 12, 30);
String formattedDateTime = dateTime.format(formatter); // "1986-04-08 12:30"

请注意,在中有一些预定义为常量的常用日期/时间格式DateTimeFormatter。例如:从上面使用DateTimeFormatter.ISO_DATE_TIME格式来格式化LocalDateTime实例将产生字符串"1986-04-08T12:30:00"

parse()format()方法可用于所有日期/时间相关的对象(例如LocalDateZonedDateTime

2020-02-27