gpt4 book ai didi

java.time.format.DateTimeParseException : Text 'Tue Dec 30 14:28:38 CET 2014' could not be parsed at index 0

转载 作者:行者123 更新时间:2023-11-30 08:58:23 27 4
gpt4 key购买 nike

在我正在处理的 Web 应用程序中,我将日期检索为 String,格式如 Tue Dec 30 14:28:38 CET 2014。我想将它解析为 Java8 LocalDateTime。以下是我尝试的总结:

String string = "Tue Dec 30 14:28:38 CET 2014";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss zzz yyyy");
LocalDateTime localDateTime = LocalDateTime.parse(string, formatter);

但是,它抛出以下异常:

java.time.format.DateTimeParseException: Text 'Tue Dec 30 14:28:38 CET 2014' could not be parsed at index 0

这是怎么引起的,我该如何解决?

最佳答案

可能日期对于当前语言无效。月份和日期的缩写从一个 Locale 更改为另一个。

检查以下示例:ideone demo

public static void main (String[] args) {
String string = "Tue Dec 30 14:28:38 CET 2014";
try {
new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH).parse(string);
System.out.println("OK ENGLISH");
} catch (Exception ex) {
System.out.println("KO ENGLISH");
}

try {
new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.GERMAN).parse(string);
System.out.println("OK GERMAN");
} catch (Exception ex) {
System.out.println("KO GERMAN");
}
}

String 使用 Locale.ENGLISH 解析时没问题,但使用 Locale.GERMAN 解析时就没问题(因为它应该是 ” Di Dez 30 14:28:38 CET 2014")。

如果您没有指定 Locale,则使用默认值。

关于java.time.format.DateTimeParseException : Text 'Tue Dec 30 14:28:38 CET 2014' could not be parsed at index 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27706569/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com