gpt4 book ai didi

java - 如何检测不明确的 DST 重叠?

转载 作者:行者123 更新时间:2023-11-30 02:35:32 24 4
gpt4 key购买 nike

当夏令时结束时,时钟会倒退 1 小时。这意味着 2017 年 11 月 5 日将是 2 01:30 AM。因此,它的工作原理如下

01:59:58
01:59:59
01:00:00
01:00:01

正如您所见,当时间接近 02:00:00 时,它将倒退 1 小时至 01:00:00。这意味着 11 月 5 日将有一个小时的重叠。我需要检测给定的时间是否在重叠期间内?

最佳答案

类似于my answer在你之前的 SO 帖子中,询问区域规则,然后你就可以:

public static boolean isAmbivalent(LocalDateTime ldt, ZoneId zoneId) {
return zoneId.getRules().getValidOffsets(ldt).size() > 1;
}

使用示例:

LocalDateTime ldt = LocalDateTime.of(2017, 11, 5, 1, 30);
ZoneId zoneId = ZoneId.of("America/Chicago");
System.out.println(isAmbivalent(ldt, zoneId)); // true, offsets either -5:00 or -6:00

关于java - 如何检测不明确的 DST 重叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43210434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com