Java不可解析日期异常

Java不可解析日期异常,java,date,format,Java,Date,Format,我得到一个错误: Unparseable date: "Thu Aug 01 00:00:00 EEST 2019" 我试着在stackoverflow上遵循其他示例,但它不起作用,所以我的问题不是重复的,我真的无法让它起作用。我不明白为什么,因为我的代码如下所示: try { // "Thu Aug 01 00:00:00 EEST 2019" String dateString = pageParameters.get("dtFrom").toString(); Date da

我得到一个错误:

Unparseable date: "Thu Aug 01 00:00:00 EEST 2019"
我试着在stackoverflow上遵循其他示例,但它不起作用,所以我的问题不是重复的,我真的无法让它起作用。我不明白为什么,因为我的代码如下所示:

try {
  // "Thu Aug 01 00:00:00 EEST 2019"
  String dateString = pageParameters.get("dtFrom").toString();
  Date date = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy").parse(dateString);
  System.out.println(date);
} catch (ParseException e) {
  e.printStackTrace();
}

我想我解决了你的问题。对我来说,这也不行

你的日期和月份是英文的(星期四和八月)。我的问题是,我的默认区域设置是西班牙语,因此日期和月份名称必须是西班牙语

您可以通过以下方式查看您的默认语言环境:

System.out.println(Locale.getDefault());
如果您的语言环境不是英语,您必须更改它,它应该可以工作


希望这能有所帮助。

对我来说,您的代码正在运行。您使用的是什么版本的Java?你的电脑有什么语言?我尝试了代码,但效果很好。无法复制问题。IntelliJ IDEA 2018.3.4(社区版)Build#IC-183.5429.30,于2019年1月29日构建JRE:1.8.0_152-release-1343-b26 amd64 JVM:OpenJDK 64位服务器虚拟机由JetBrains s.r.o Windows 10.0发布。我建议您不要使用
SimpleDate
。这些类设计得很糟糕,而且早已过时,其中前者尤其令人讨厌。改为使用.My
Locale中的
ZonedDateTime
DateTimeFormatter
。getDefault()
en_US
它确实有效!我已经将我的语言环境设置为“美国”,而不是“英语”,并且它成功了。谢谢