如果你不想提供自己的tzinfo对象,请签出python-dateutil
库。它tzinfo
在zoneinfo
(Olson)数据库的顶部提供了实现,因此你可以使用一些规范的名称来引用时区规则。
from datetime import datetime
from dateutil import tz
# METHOD 1: Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')
# METHOD 2: Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()
# utc = datetime.utcNow()
utc = datetime.strptime('2020-01-21 02:37:21', '%Y-%m-%d %H:%M:%s')
# Tell the datetime object that it's in UTC time zone since
# datetime objects are 'naive' by default
utc = utc.replace(tzinfo=from_zone)
# Convert time zone
central = utc.astimezone(to_zone)