Pytz 在感知日期时间上进行本地化
Pytz Localise on Aware Datetime
我正在尝试使用 pytz 将已知日期时间 (UTC) 转换为本地时间。
我正在使用这段代码,导致时间延迟了几分钟
new_timezone = pytz.timezone(local_timezone)
new_datetime = entry[1].replace(tzinfo=timezone.utc).astimezone(tz=new_timezone)
我尝试这样做,但收到一个错误,提示它不是原始日期时间:
local_timezone_pytz.localize(entry[1])
使用astimezone
,例如:
import datetime
import pytz
dt = datetime.datetime.now(datetime.timezone.utc)
# datetime.datetime(2020, 10, 22, 5, 48, 5, 806183, tzinfo=datetime.timezone.utc)
dt_est = dt.astimezone(pytz.timezone('US/Eastern'))
# datetime.datetime(2020, 10, 22, 1, 48, 5, 806183, tzinfo=<DstTzInfo 'US/Eastern' EDT-1 day, 20:00:00 DST>)
请注意,这并非特定于 pytz
;您还可以提供从 dateutil.tz.gettz
或 zoneinfo.ZoneInfo
到 astimezone
.
的时区对象
我正在尝试使用 pytz 将已知日期时间 (UTC) 转换为本地时间。
我正在使用这段代码,导致时间延迟了几分钟
new_timezone = pytz.timezone(local_timezone)
new_datetime = entry[1].replace(tzinfo=timezone.utc).astimezone(tz=new_timezone)
我尝试这样做,但收到一个错误,提示它不是原始日期时间:
local_timezone_pytz.localize(entry[1])
使用astimezone
,例如:
import datetime
import pytz
dt = datetime.datetime.now(datetime.timezone.utc)
# datetime.datetime(2020, 10, 22, 5, 48, 5, 806183, tzinfo=datetime.timezone.utc)
dt_est = dt.astimezone(pytz.timezone('US/Eastern'))
# datetime.datetime(2020, 10, 22, 1, 48, 5, 806183, tzinfo=<DstTzInfo 'US/Eastern' EDT-1 day, 20:00:00 DST>)
请注意,这并非特定于 pytz
;您还可以提供从 dateutil.tz.gettz
或 zoneinfo.ZoneInfo
到 astimezone
.