Java API获取一年中特定时区的夏时制的开始和结束详细信息

问题描述 投票:1回答:1

因此,我在java.time.ZoneId下使用getAvailableZoneIds()方法来获取可用时区列表。因此,我想知道对于特定时区(例如“ America / Chicago”)是否存在某种方式,我可以找出一年中的夏时制的开始和结束日期时间详细信息。就像它何时开始和结束。尽管通过Java获得了包括ZoneId,ZonedDateTime,ZoneOffset,TimeZone在内的各种类,但找不到任何可以获取此详细信息的方法。

我尝试了下面的代码,并给出了下面提到的输出

    ZoneId zoneId= ZoneId.of("America/Sao_Paulo");
    ZoneRules zoneRules = zoneId.getRules();
    System.out.println("previous Transition of DST ==>  " + zoneRules.previousTransition(Instant.now()));
    System.out.println("next Transition of DST ==>  " + zoneRules.nextTransition(Instant.now()));

输出:

previous Transition of DST ==>  Transition[Overlap at 2019-02-17T00:00-02:00 to -03:00]
next Transition of DST ==>  Transition[Gap at 2019-11-03T00:00-03:00 to -02:00]

但是我需要找出特定年份的开始时间和结束时间。

谢谢-山姆

java datetime calendar timezone jodatime
1个回答
2
投票

对于特定年份,您可以给ZoneRules一年。对于任何给定的时刻,您都可以询问nextprevious ZoneOffsetTransition

ZoneOffsetTransition
© www.soinside.com 2019 - 2024. All rights reserved.