gpt4 book ai didi

java - 乔达日期时间 : Parse date with "CEST" in string

转载 作者:行者123 更新时间:2023-11-30 06:27:42 24 4
gpt4 key购买 nike

我想使用 joda 库解析 DateTime(在 scala 中,但应该与 java 相同)。

来源看起来像

val dateParser = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss z")
val date = dateParser.parseDateTime("2012-08-28 15:35:00 CEST")

在 Java 中这看起来像

DateTimeFormatter dateParser = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss z");
DateTime date = dateParser.parseDateTime("2012-08-28 15:35:00 CEST");

不幸的是,这不起作用但会抛出异常:

java.lang.IllegalArgumentException: Invalid format: "2012-08-28 15:35:00 CEST" is malformed at "CEST"

为什么这行不通?当然我可以忽略“CEST”部分并只解析其余部分,但在输入中“CEST”有时会被“CET”替换,所以我不想忽略它。

最佳答案

问题是因为 CEST 是一个不唯一的短区域名称。请参阅 DateTimeFormatter Bug parsing with general time zones in US Locale? 的详细讨论

您可以使用来自 github 的最新版本应该包含修复程序,请参阅 this commit .

您应该能够使用 DateTimeFormatterBuilder#appendTimeZoneShortName 添加 CEST 作为“America/Chicago”的别名或您希望如何解释 CEST

关于java - 乔达日期时间 : Parse date with "CEST" in string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13181970/

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