我正在尝试使用DateTimeFormatter将字符串转换为LocalDateTime,其格式为:
String dateTimeInString = "2020-11-23T14:28:45.237Z";
final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSZ");
LocalDateTime timestamp = LocalDateTime.parse(dateTimeInString, formatter);
但这是一个例外。需要这方面的指导。谢谢
LocalDateTime
没有区域部分,您只需要在您的情况下使用不带DateTimeFormatter
的ZonedDateTime
,因为您的dateTimeInString
可以通过ZonedDateTime
:的默认模式进行解析
ZonedDateTime zdt = ZonedDateTime.parse(dateTimeInString);
您的日期-时间值("2020-11-23T14:28:45.237Z">(有一个区域部分,您需要使用ZoneDateTime
来解析区域日期和时间,因为LocaleDateTime没有关于区域的信息:
String dateTimeInString = "2020-11-23T14:28:45.237Z";
ZonedDateTime zdt = ZonedDateTime.parse(dateTimeInString);
System.out.println(zdt.format(DateTimeFormatter.ofPattern("MM/dd/uuuu HH:mm:ss"))