转换为非夏令时时区
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
在 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