尝试将各种时间格式转换为统一格式。
一种格式是
"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