从偏移量到时区名称的Java.time

时间:2018-05-10 16:30:12

标签: java datetime-format java-time timezone-offset zoneddatetime

尝试将各种时间格式转换为统一格式。

一种格式是

"uuuu-MM-dd'T'HH:mm:ss-5000"

需要转换为时区格式:

"uuuu-MM-dd'T'HH:mm:ss EST"

使用以下代码,但它仅将时区指定为“-05:00”,而不是预期的“EST”。

    String targetFormat = "uuuu-MM-dd'T'HH:mm:ss z";
    String origFormat = "uuuu-MM-dd'T'HH:mm:ss.SSSZ";
    String origStr = "2018-02-05T17:25:18.156-0500";
    ZonedDateTime time = ZonedDateTime.parse(origStr, DateTimeFormatter.ofPattern(origFormat));
    String targetStr = time.format(DateTimeFormatter.ofPattern(targetFormat));

以上输出是:

2018-02-05T17:25:18 -05:00

如何获得预期:

2018-02-05T17:25:18 EST

0 个答案:

没有答案