繁体   English   中英

如何将 Javascript 日期解析为 Java LocalDateTime 与星期几

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM