Java Unparseable日期:美国/芝加哥时区

时间:2012-05-18 19:45:41

标签: java parsing date

我的应用程序试图解析美国/芝加哥时区的日期时遇到问题。我已经回顾了一堆其他的ParseException问题,我想我已经掌握了Java中日期解析的所有常见问题。以下代码适用于我遇到的所有其他日期/时间,但所有带有America / Chicago时区的日期由于某种原因无法解析。

我为dateFormat设置了区域设置,这无关紧要。我检查了其他每个部分都没问题,我删除了不可见的控制字符,我重新键入字符串以确保没有复制/粘贴任何恶意字符,但每次抛出异常。

有什么想法?

dateFormat = new SimpleDateFormat("EEE MMM dd k:mm:ss zzz ");
dateString = "Wed May 02 15:45:47 America/Chicago ";

try {
    entry.setDateTaken(dateFormat.parse(dateString));
}  catch (java.text.ParseException e) { }

我有理由不想去Joda路线,这是一个我不应该这么简单的事情。

1 个答案:

答案 0 :(得分:7)

相信问题在于您使用的是Olson时区ID,而我认为 SimpleDateFormat不支持解析这些ID。当然使用你的代码我和“欧洲/伦敦”有同样的问题所以它并不是芝加哥特有的。您能举例说明的时区标识符吗?