制作日期时间对象 TZ 感知
缺乏时区信息的原始日期时间对象在与时区感知对象进行比较时可能会出现问题。本文探讨了使日期时间对象具有时区感知能力以促进此类比较的方法。
使用 Localize
推荐的方法是使用 localize 方法。此方法采用一个简单的日期时间对象并为其分配一个特定的时区:
import datetime import pytz unaware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0) aware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0, pytz.UTC) # Localize the naive object to the UTC timezone now_aware = pytz.utc.localize(unaware) # Assert that the aware objects are equal assert aware == now_aware
使用替换
对于没有夏令时调整的 UTC 时区,可以使用replace方法:
now_aware = unaware.replace(tzinfo=pytz.UTC)
但是需要注意的是replace创建一个新的日期时间对象而不是修改原始日期时间对象。
以上是如何在 Python 中使 Naive Datetime 对象具有时区感知能力?的详细内容。更多信息请关注PHP中文网其他相关文章!