【发布时间】:2017-12-26 06:54:01
【问题描述】:
我正在尝试将日期转换为以下时区,但结果不符合预期 - 我得到的要求是例如从 PMST 转换为 EST 输出应该减少 2 小时。
PMST, 新标准时间, AST, 美东时间, 科技委, MST, 太平洋标准时间, 知识与知识, HAST
String inputDate = "2017/04/30 08:10";
DateTimeFormatter sourceFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm");
LocalDateTime local = LocalDateTime.parse(inputDate, sourceFormatter);
ZonedDateTime zoned = local.atZone(TimeZone.getTimeZone("PMST").toZoneId());
ZonedDateTime requiredZone = zoned.withZoneSameInstant(TimeZone.getTimeZone("EST").toZoneId());
System.out.println(requiredZone);
输出 - 2017-04-30T03:10-05:00
【问题讨论】:
-
如 Sarvesh 所述,ZoneId 中没有提到时区 PMST,因此您必须明确提及。您可以在 ZoneId.java 中查看支持的 zoneId
-
识别或更正您的
PMST。
标签: java