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

aha*_*aha 2 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) { }
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*eet 7

认为问题是,你正在使用Olson时区ID,我不认为 SimpleDateFormat支持解析这些.当然使用你的代码我和"欧洲/伦敦"有同样的问题所以它并不是芝加哥特有的.你能给与时区标识符的这种风格的任何实例工作?