不可解析的日期异常简单日期格式



在使用SimpleDateFormat解析字符串到日期对象时,我得到以下错误。

java.text.ParseException: 不可解析的日期: "星期二, 29 Mar 2016 11:27:37 -0400"

我用来解析日期的代码是:

DateFormat df2 = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");

我能够解析像Mon, 13 Jun 2016 11:48:54 +0300这样的日期

我注意到一件事是,具有+ve时区(+0300)的日期被解析-ve但时区(-0400)没有被解析。

我怀疑问题是您的默认区域设置不是英语(也许是德语,这可以解释为什么周一有效(蒙塔格)而不是周二(Dienstag)?

只需将 ENGLISH 指定为区域设置:

DateFormat df2 = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z", Locale.ENGLISH);
Date date = df2.parse("Tue, 29 Mar 2016 11:27:37 -0400");
System.out.println(date); //prints Tue Mar 29 15:27:37 GMT 2016

上面的代码在 ideone 和我的机器上工作正常。

相关内容

  • 没有找到相关文章

最新更新