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