java 的夏令时

Daylight savings time in java

我的要求是创建一个包含所有时区 ID 的组合,这些时区 ID 会根据 "Daylight Savings Time"(夏令时)进行调整。

使用 getAvailableIDs() 方法我可以得到像 this 这样的 timezoneID 列表,但问题是我不知道哪个是用夏令时调整的,哪个不是。

所以我把我的问题留在这里并寻找任何建议或在哪里可以找到它。

谢谢。

您可以迭代 ID,检索相应的 TimeZone 并在其上检查 useDaylightTime() :

for (String tzId : TimeZone.getAvailableIDs()) {
    TimeZone tz = TimeZone.getTimeZone(tzId);
    if (tz.useDaylightTime()) {
        // do something
    }
}

注意: 根据您的用例,您可能还需要检查 observesDaylightTime(),这有点不同来自 useDaylightTime().