Java 8添加了新的java.time API,用于处理日期和时间(JSR 310)。
我将日期和时间作为字符串(例如"2019-04-08 12:30")。如何LocalDateTime从给定的字符串中获取实例?
"2019-04-08 12:30"
LocalDateTime
处理完LocalDateTime对象后:如何将LocalDateTime实例转换回具有上述格式的字符串?
解析日期和时间
要从LocalDateTime字符串创建对象,可以使用static LocalDateTime.parse()方法。它使用字符串和a DateTimeFormatter作为参数。所述DateTimeFormatter用于指定的日期/时间模式。
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()方法。
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"。
DateTimeFormatter.ISO_DATE_TIME
"1986-04-08T12:30:00"
该parse()和format()方法可用于所有日期/时间相关的对象(例如LocalDate或ZonedDateTime)
parse()
LocalDate
ZonedDateTime