【发布时间】:2021-10-06 14:09:20
【问题描述】:
我有以下德国日期:So, 18 Jul 2021 15:24:00 +0200
我无法使用 Java Time 解析它:
DateTimeFormatter.ofPattern("EEE, dd MMM yyyy HH:mm:ss Z", Locale.GERMANY)
.parse("So, 18 Jul 2021 15:24:00 +0200", Instant::from)
当它抛出时:Text 'So, 18 Jul 2021 15:24:00 +0200' could not be parsed at index 0
如果我要将字符串更改为正确格式,它可以工作:
-So, 18 Jul 2021 15:24:00 +0200
+So., 18 Juli 2021 15:24:00 +0200
有什么神奇的模式可以解析上述日期吗?
我在其他日期也遇到了同样的问题
-
LocalDateTime.parse("ven, 16/07/2021 - 09:49", DateTimeFormatter.ofPattern("EE, dd/MM/yyyy - HH:mm", Locale("fr")))-
ven必须是ven.
-
-
LocalDateTime.parse("vr, 23 apr 2021 17:04:00", DateTimeFormatter.ofPattern("EE, dd MM yyyy HH:mm:ss", Locale("nl")))-
apr必须是04(才能使用MM)
-
【问题讨论】:
-
DateTimeFormatter用于解析有效日期,不用于清理错误输入。在进入格式化程序之前清理您的输入 -
我同意,您不需要日期名称,因为您有完整的日期。
-
@JoakimDanielson 验证通常是一件好事。
-
"
apr必须是07"?那不应该是04吗?
标签: java date datetime dayofweek date-parsing