跳到内容
🛠️ToolsShed

夏令时日历

按国家查看当前和下一年的夏令时开始和结束日期。

冬季UTC偏移
UTC-05:00
夏季UTC偏移
UTC-04:00
2026本年
DST开始
Sun, Mar 8
UTC-04:00
DST结束
Sun, Nov 1
UTC-05:00
2027明年
DST开始
Sun, Mar 14
UTC-04:00
DST结束
Sun, Nov 7
UTC-05:00

本地时间(凌晨2点调整时钟)

关于此工具

夏令时是许多国家在春季将时钟向前拨、秋季向后拨以更好利用日光时间的年度做法。这个DST日历工具可以帮助您立即查找到您所在国家或地区的夏令时开始和结束的确切日期,涵盖当前年度和来年。理解这些日期对于安排国际会议、规划旅行以及避免跨越不同时区的约会错误至关重要。

只需从下拉菜单中选择您的国家或地区,工具就会一目了然地显示夏令时的更换日期。无论您是与另一个时区的同事协调工作、规划旅行,还是管理跨越多个地区的业务运营,准确了解何时调整时钟可以避免混乱并防止日程安排错误。该工具涵盖数十个国家和地区,具有各种夏令时规则,从美国和欧洲到澳大利亚及其他地区。

常见问题

代码实现

from datetime import datetime, timedelta
import pytz  # pip install pytz

def get_dst_transitions(tz_name: str, year: int) -> dict:
    """Get DST start and end dates for a timezone in a given year."""
    tz = pytz.timezone(tz_name)
    transitions = []

    # Check each day of the year for offset changes
    prev_offset = None
    for day in range(365 + (1 if year % 4 == 0 else 0)):
        dt = datetime(year, 1, 1) + timedelta(days=day)
        localized = tz.localize(dt)
        offset = localized.utcoffset()
        if prev_offset is not None and offset != prev_offset:
            transitions.append({
                "date": dt.strftime("%Y-%m-%d"),
                "from_offset": str(prev_offset),
                "to_offset": str(offset),
                "type": "start" if offset > prev_offset else "end",
            })
        prev_offset = offset
    return {"timezone": tz_name, "year": year, "transitions": transitions}

# Example
info = get_dst_transitions("America/New_York", 2024)
for t in info["transitions"]:
    print(f"DST {t['type']}: {t['date']} ({t['from_offset']} -> {t['to_offset']})")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.