更新时间:2023-02-03 15:05:36
如果您不想提供自己的 tzinfo
对象,请查看 python-dateutil 库。它在 zoneinfo(Olson)数据库之上提供了 tzinfo
实现。
If you don't want to provide your own tzinfo
objects, check out the python-dateutil library. It provides tzinfo
implementations on top of a zoneinfo (Olson) database such that you can refer to time zone rules by a somewhat canonical name.
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('2011-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)
编辑展开示例以显示 strptime
的使用情况
Edit Expanded example to show strptime
usage
编辑2 ong>固定的API使用情况,以显示更好的入口点方法
Edit 2 Fixed API usage to show better entry point method
编辑3 包括的时区自动检测方法(雅林)
Edit 3 Included auto-detect methods for timezones (Yarin)