提问人:Vishal 提问时间:3/25/2023 最后编辑:AnonymousVishal 更新时间:3/26/2023 访问量:87
在 Java 的 DateTimeFormatter 模式中无法识别 MESZ
MESZ is not recognized in the pattern of DateTimeFormatter of Java
问:
LocalDateTime time = LocalDateTime.parse("27. April 2021 00:03:50 MESZ", DateTimeFormatter.ofPattern("dd. MMMM yyyy HH:mm:ss z"));
尝试解析时间字符串,如上所示。模式中的“z”无法识别“MESZ”时区。
有人可以告诉我是否必须使用任何其他模式来匹配“MESZ”吗?
答:
2赞
Vishal
3/26/2023
#1
我找到了答案。我必须将 DateTimeFormatter 与 Locale 一起使用
DateTimeFormatter FORMATTER = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG).withLocale(Locale.GERMANY);
LocalDateTime time = LocalDateTime.parse("27. April 2021 00:03:50 MESZ", FORMATTER);
评论
0赞
Anonymous
3/26/2023
一个非常好的解决方案。它使我们完全不必摆弄任何格式的模式字符串。
评论
MESZ
不在标准的时区名称列表中,尽管它在德国经常使用。您可能需要特殊情况来替换它。CEST
Locale.Germany
LocalDateTime
ZonedDateTime