SimpleDateFormat:解析日期字符串抛出异常

SimpleDateFormat: Parsing datestring throws exception

以下代码:

String time = "Mon May 07 00:31:29 GMT+02:00 2018";
Date parsedDate = new SimpleDateFormat("E MMM dd HH:mm:ss zXXX yyyy", Locale.GERMANY).parse(time);

抛出以下异常,而不是解析日期字符串:

java.text.ParseException: Unparseable date: "Mon May 07 00:31:29 GMT+02:00 2018"

我通过尝试不同的格式化程序组合找到了格式字符串 on this site 而我想出的那个 (E MMM dd HH:mm:ss zXXX yyyy) 似乎给出了正确的结果(在网站上)。

但是,当在我的代码中使用时,它会抛出给定的异常。

是我对SimpleDateFormat有误解还是我的格式字符串有误?

要么你需要使用...

String time = "Mo Mai 07 00:31:29 GMT+02:00 2018";
Date parsedDate = new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy", Locale.GERMANY).parse(time);

或者

String time = "Mon May 07 00:31:29 GMT+02:00 2018";
Date parsedDate = new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy").parse(time);