如何获取先科的ZoneId?

Sas*_*ota 3 java timezone java-8 java-time

我需要从文件中解析时区,其中指定的区域如下:UTC、SAST 等。

问题:虽然ZoneId.of("UTC")效果很好,但我不能对 SAST 做同样的事情。

我明白了java.time.zone.ZoneRulesException: Unknown time-zone ID: SAST

问题:如何将“SAST”字符串转换为 Java 字符串ZoneId

我知道,每次收到它时我都可以用“GMT+2”替换“SAST”,但如果有更优雅的方式那就太好了。

小智 6

根据oracle文档,南非标准时间(SAST)是Africa/Johannesburg。所以你应该使用:

ZoneId.of("Africa/Johannesburg")
Run Code Online (Sandbox Code Playgroud)