Hei*_*nzi 3 java datetime scala jodatime
我想使用 joda 库(在 Scala 中,但应该与 java 相同)解析 DateTime。
来源看起来像
val dateParser = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss z")
val date = dateParser.parseDateTime("2012-08-28 15:35:00 CEST")
Run Code Online (Sandbox Code Playgroud)
在 Java 中,这看起来像
DateTimeFormatter dateParser = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss z");
DateTime date = dateParser.parseDateTime("2012-08-28 15:35:00 CEST");
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用,但会引发异常:
java.lang.IllegalArgumentException: Invalid format: "2012-08-28 15:35:00 CEST" is malformed at "CEST"
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?当然我可以忽略“CEST”部分而只解析其余部分,但在输入中“CEST”有时可以替换为“CET”,所以我不想忽略它。
问题是因为CEST是不唯一的短区域名称。请参阅DateTimeFormatter Bug parsing with general time zone in US Locale的详细讨论?
您可以使用github中应该包含修复程序的最新版本,请参阅此提交。
您应该能够使用DateTimeFormatterBuilder#appendTimeZoneShortName添加CEST作为“America/Chicago”的别名或您希望如何解释CEST.
| 归档时间: |
|
| 查看次数: |
6426 次 |
| 最近记录: |