无法将某些日期解析为 ZonedDateTime
Unable to parse some dates into ZonedDateTime
尝试解析来自第三方来源的传入日期,一些日期按预期工作,另一些则抛出异常:
Text 'Fri, 11 Jun 2021 02:25:23 +0000' could not be parsed at index 8
查看日期我无法发现它们之间的差异,查看我的格式化程序我也看不出哪里出错了。
失败日期示例:Fri, 11 Jun 2021 02:25:23 +0000
通过日期示例:Sun, 30 May 2021 11:42:03 +0000
我用来解析日期的代码:
ZonedDateTime.parse(incomingDate, DateTimeFormatter.ofPattern("E, d MMM yyyy HH:mm:ss Z"));
我唯一能想到的是有些日期月份 shorthand 与其他日期月份不同(例如五月与六月)。
希望得到一些帮助。
String incomingDate1 = "Fri, 11 Jun 2021 02:25:23 +0000";
String incomingDate2 = "Sun, 30 May 2021 11:42:03 +0000";
ZonedDateTime parsed = ZonedDateTime.parse(incomingDate1,
DateTimeFormatter.ofPattern("E, d MMM yyyy HH:mm:ss Z", Locale.ENGLISH));
System.out.println(parsed);
尝试解析来自第三方来源的传入日期,一些日期按预期工作,另一些则抛出异常:
Text 'Fri, 11 Jun 2021 02:25:23 +0000' could not be parsed at index 8
查看日期我无法发现它们之间的差异,查看我的格式化程序我也看不出哪里出错了。
失败日期示例:Fri, 11 Jun 2021 02:25:23 +0000
通过日期示例:Sun, 30 May 2021 11:42:03 +0000
我用来解析日期的代码:
ZonedDateTime.parse(incomingDate, DateTimeFormatter.ofPattern("E, d MMM yyyy HH:mm:ss Z"));
我唯一能想到的是有些日期月份 shorthand 与其他日期月份不同(例如五月与六月)。
希望得到一些帮助。
String incomingDate1 = "Fri, 11 Jun 2021 02:25:23 +0000";
String incomingDate2 = "Sun, 30 May 2021 11:42:03 +0000";
ZonedDateTime parsed = ZonedDateTime.parse(incomingDate1,
DateTimeFormatter.ofPattern("E, d MMM yyyy HH:mm:ss Z", Locale.ENGLISH));
System.out.println(parsed);