Перейти к содержимому

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.