【发布时间】:2020-08-03 08:46:51
【问题描述】:
我需要从一个文件中解析一个时区,其中指定的区域如下:UTC、SAST 等。
问题:虽然ZoneId.of("UTC") 效果很好,但我不能对 SAST 做同样的事情。
我收到java.time.zone.ZoneRulesException: Unknown time-zone ID: SAST。
问题:如何将“SAST”字符串转换为Java的ZoneId?
我知道,每次收到时我都可以将“SAST”替换为“GMT+2”,但如果有更优雅的方式就好了。
【问题讨论】:
-
使用完整的时区名称以避免冲突
ZoneId.of("Africa/Johannesburg")切勿使用 3-4 个字符的缩写来表示时区。
标签: java java-8 timezone java-time