java simpleDateFormat.parse("Tue, 27 Apr 2021 18:00:00 +0200") 导致 ParseException "unparsable Date" - 为什么?

问题描述

我正在尝试将字符串解析为日期。 老实说,它很简单,应该可以立即使用,但显然我太笨了。

这就是我试图解析的内容

Date mdate = new SimpleDateFormat("EEE,dd MMM yyyy HH:mm:ss ZZZZ").parse( "Tue,27 Apr 2021 18:00:00 +0200" );

或者反过来:

Date mdate = new SimpleDateFormat("EEE,dd MMM yyyy HH:mm:ss Z").parse( "Tue,27 Apr 2021 18:00:00 +0200" );

它总是导致 ParseException“无法解析的日期”

有人可以请戳我的鼻子为什么这不起作用吗? 提前致谢!

编辑: 解决方案:

我在德国机器上,因此无法解析英文格式的字符串。为此,SimpleDateFormat 需要一个 Locale 作为第二个参数。

Date mdate = new SimpleDateFormat("EEE,dd MMM yyyy HH:mm:ss ZZZZ",Locale.ENGLISH).parse( "Tue,27 Apr 2021 18:00:00 +0200" );

注意: SimpleDateFormat 已弃用,应替换为 DateTimeFormatter。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)