跳到内容
🛠️ToolsShed

Daylight Saving Time Checker

检查任何国家是否当前正在实施夏令时。

关于此工具

夏令时(DST)是世界各地数百万人采用的一种做法,目的是在温暖的月份更好地利用自然日光。通过将时钟向前调整一小时,地区可以延长傍晚的日光时间,并可能减少能源消耗,尽管实际的节能效果在科学家之间仍存在争议。了解您所在地点或联系地点是否正在实施夏令时,对于避免日程混淆和协调跨时区事务至关重要。

使用此工具,您可以在几秒内检查任何国家的夏令时现状。只需选择您的国家或地区,它会立即显示夏令时是否当前生效、当前的UTC偏移是多少,以及下次时间变更何时发生。这对于计划国际通话的旅行者、管理全球团队的企业或对世界各地时间规则差异感到好奇的人来说都非常理想。

大多数国家不实施夏令时,特别是那些靠近赤道的国家,其全年日照长度变化不大。即使在那些使用夏令时的国家中,转换日期和规则也存在很大差异。这就是为什么该工具消除了猜测,按需为您提供准确、最新的信息。

常见问题

代码实现

from datetime import datetime, timezone, timedelta
import zoneinfo

def check_dst(date_str: str, tz_name: str) -> dict:
    """Check DST status for a date in a timezone."""
    tz = zoneinfo.ZoneInfo(tz_name)
    dt = datetime.strptime(date_str, "%Y-%m-%d").replace(tzinfo=tz)

    is_dst = bool(dt.dst())
    utc_offset = dt.utcoffset()

    return {
        "date": date_str,
        "timezone": tz_name,
        "is_dst": is_dst,
        "utc_offset": str(utc_offset),
        "local_time": dt.strftime("%Y-%m-%d %H:%M %Z")
    }

# Examples
timezones = [
    ("2024-07-15", "America/New_York"),   # US Summer - DST active
    ("2024-01-15", "America/New_York"),   # US Winter - no DST
    ("2024-06-15", "Europe/London"),       # UK Summer - BST active
    ("2024-12-15", "Asia/Tokyo"),          # Japan - no DST ever
]

for date, tz in timezones:
    result = check_dst(date, tz)
    dst_str = "DST ACTIVE" if result['is_dst'] else "Standard Time"
    print(f"{tz}: {result['utc_offset']} ({dst_str})")

Comments & Feedback

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