转换为非夏令时时区

Converting to a non-daylight savings timezone

在 python 中,我试图将一堆 UTC 日期时间转换为本地化时区,但全年都是标准时间。例如,对于太平洋时间,我需要全年的 PST,而不是 PDT 和 PST 从夏季到冬季的切换。或者改一下我的问题,有没有办法为时区指定 'Standard' 时间?

from datetime import datetime, timezone

utc_dt = "enter here UTC time "

utc_dt.replace(tzinfo=timezone.utc).astimezone(tz=None)

您可以指定不随夏令时变化的特定时区的 UTC 偏移量。以下示例将 UTC 转换为太平洋标准时间 (PST)。

from datetime import datetime, timedelta, timezone

utc = datetime(2019, 8, 7, 10, 30, tzinfo=timezone.utc)
pst = utc.astimezone(timezone(-timedelta(hours=8)))
print(utc)
# 2019-08-07 10:30:00+00:00
print(pst)
# 2019-08-07 02:30:00-08:00

获取指定时区的偏移小时数:

import pytz                                         
def get_standard_time_offset(tz_name):
    t = pytz.timezone(tz_name)
    # DATE HERE IS AN ARBITRARY WINTER DATE THAT WOULDN'T WORK IN THE SOUTHERN HEMISPHERE
    offset = t.utcoffset(datetime(2010,1,1))
    hrsoffset = offset.total_seconds()/3600
    return hrsoffset