如何在Java中转换包含时区CEST的日期格式

问题描述 投票:1回答:1

我从检票口获得了一个日期格式,Java无法转换该日期格式:

Mon Apr 20 00:00:00 CEST 2020

问题是CEST不是Java支持的时区。我已经试过CST应该可以用,但不能用。错误是:

不可解析的日期:“ 2020年4月20日星期一00:00:00 CST”

我需要将此日期转换为JSON格式的yyyy-MM-dd。

我该怎么做?

java date wicket
1个回答
1
投票

这对我有用:

        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]

[我认为,诀窍是您需要格式化程序来解析此日期,因为使用字符串末尾的年份和日期之间以及其余时间之间的小时/分钟/秒是一种非常奇怪的格式。默认日期/时间解析将无法进行。

© www.soinside.com 2019 - 2024. All rights reserved.