提问人:ajay gandhi 提问时间:10/20/2023 最后编辑:kostixajay gandhi 更新时间:10/20/2023 访问量:41
如何查找 DST 直接转换时间
How to find DST Cutover time
问:
有没有简单的方法可以在给定的时间范围内找到特定时区(比如美国/New_York)的 DST 切换时间? 我知道我可以编写自定义逻辑来迭代每个小时,计算每个小时的偏移量,并将其与前一小时的偏移量进行比较。如果 offset 为 diff,则为 DST 直接转换时间 或者我可以使用 IANA 数据库
但我不想采用这些方法。我更感兴趣的是 Go 中是否有任何内置功能或任何提供此类功能的软件包。
答:
-2赞
Amaan Ahmad
10/20/2023
#1
若要查找 DST 直接转换时间,可以使用以下步骤:
确定您所在的时区。 了解您的时区是否遵守夏令时 (DST)。 如果您的时区遵守 DST,请找出 DST 的开始和结束日期。 DST 转换时间是向前或向后设置时钟以观察 DST 的时间。 例如,在美国,大多数时区都遵守夏令时。DST 的开始日期是当地时间 3 月的第二个星期日凌晨 2:00。DST 的结束日期是当地时间 11 月的第一个星期日凌晨 2:00。
因此,美国的 DST 切换时间为:
春季前进:当地时间3月的第二个星期日凌晨2:00 回退:当地时间 11 月的第一个星期日凌晨 2:00 在印度,不遵守夏令时。因此,印度没有 DST 转换时间。
评论
tx
time.Location
time/zoneinfo.go