我从检票口获得了一个日期格式,Java无法转换该日期格式:
Mon Apr 20 00:00:00 CEST 2020
问题是CEST不是Java支持的时区。我已经试过CST应该可以用,但不能用。错误是:
不可解析的日期:“ 2020年4月20日星期一00:00:00 CST”
我需要将此日期转换为JSON格式的yyyy-MM-dd。
我该怎么做?
这对我有用:
String dateStr = "Mon Apr 20 00:00:00 CEST 2020";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM d H:mm:ss zzz yyyy", Locale.ENGLISH);
System.out.println(ZonedDateTime.parse(dateStr, formatter));
上面的输出是:2020-04-20T00:00+02:00[Europe/Paris]
[我认为,诀窍是您需要格式化程序来解析此日期,因为使用字符串末尾的年份和日期之间以及其余时间之间的小时/分钟/秒是一种非常奇怪的格式。默认日期/时间解析将无法进行。