[英]How to parse Javascript Date to Java LocalDateTime with day of the week
我正在尝试将存储在 mongoDb 中的 Javascript 日期转换为 Java LocalDateTime ISO_DATE_TIME ,为什么我的代码无法计算出 ParseException 并且为什么我的代码无法解决。 首先,代码:
解析器:
public static final class StringToLocalDateTimeConverter implements Converter<String, LocalDateTime> {
public static final StringToLocalDateTimeConverter INSTANCE = new StringToLocalDateTimeConverter();
private StringToLocalDateTimeConverter() {}
@Override
public LocalDateTime convert(String source) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSX");
return StringUtil.isNullOrEmpty(source) ? null : LocalDateTime.parse(source, formatter);
}
}
传入的日期格式为“Thu Oct 07 2021 21:29:36 GMT+0000 (Coordinated Universal Time)”
我收到的错误是:
getUserById() 中出现异常,原因 = 'java.time.format.DateTimeParseException: Text 'Thu Oct 07 2021 21:29:36 GMT+0000 (Coordinated Universal Time)' 无法在索引 0 处解析,异常 = '失败从类型 [java.lang.String] 转换为类型 [java.time.LocalDateTime] 的值'Thu Oct 07 2021 21:29:36 GMT+0000 (Coordinated Universal Time)'; 嵌套异常是 java.time.format.DateTimeParseException: Text 'Thu Oct 07 2021 21:29:36 GMT+0000 (Coordinated Universal Time)' 无法在索引 0 处解析
解析器似乎不知道如何处理一周中的前一天。 任何意见,将不胜感激!
您有错误的日期格式模式来解析您的日期字符串。
String parsePattern = "EEE MMM dd yyyy HH:mm:ss O (zzzz)";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(parsePattern);
String dateString = "Wed Jan 26 2022 22:33:07 GMT+1 (Central European Standard Time)";
LocalDateTime dateTime = LocalDateTime.parse(dateString, formatter);
System.out.println(dateTime); // result 2022-01-26T22:33:07
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.