【发布时间】:2015-11-03 10:03:28
【问题描述】:
我有一个奇怪的问题,当我尝试使用 java SimpleDateFormat 解析此日期:Tue Nov 03 10:50:16 CET 2015 时,由于其中的“Tue”而引发异常。
我的代码是:
String date = "Tue Nov 03 10:50:16 CET 2015";
Date parsedDate = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy").parse(date);
抛出此异常:java.text.ParseException: Unparseable date: "Tue Nov 03 10:50:16 CET 2015"
我已经尝试过调试它,这就是归结为:
String date = "Tue";
Date parsedDate = new SimpleDateFormat("EEE").parse(date);
抛出相同类型的异常。 (我也用一个'E'试过)。我认为这真的很奇怪,因为文档告诉我应该这样使用它。来源:https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html
我们非常欢迎解决方案!
谢谢,卢卡
更新:解析的重点是解析MANIFEST.getMainAttributes().getValue("Created-On");
【问题讨论】:
-
您的语言环境是什么?文本的日期和月份表示取决于此。
-
尝试将“en-us”区域设置传递给构造函数以锁定该部分。
-
你可以试试@cheffe 这样的建议
SimpleDateFormat("EEE", Locale.ENGLISH)。顺便说一句,我已经用你的 String 测试了你的代码,它工作正常。我系统中的语言英语 -
@cheffe 好点,我的日期和时间格式设置为荷兰语,而您刚刚解决了问题 :) 谢谢!