首页 >后端开发 >Python教程 >如何在 Python 中使朴素的日期时间对象具有时区感知能力?

如何在 Python 中使朴素的日期时间对象具有时区感知能力?

Linda Hamilton
Linda Hamilton原创
2024-11-29 08:34:10572浏览

How Can I Make a Naive Datetime Object Timezone-Aware in Python?

让日期时间对象感知(不是幼稚)

理解问题

处理日期时间对象时,管理时区至关重要进行比较并避免差异。如果您遇到缺少时区信息的日期时间对象(称为幼稚对象),您可能需要添加它才能与其他时区感知对象进行比较。

解决问题

使原始日期时间对象感知的首选方法是使用 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)

now_aware = pytz.utc.localize(unaware)
assert aware == now_aware

对于 UTC 时区,其中夏令时节省时间不是问题,您还可以使用替换方法,该方法返回一个新的日期时间对象:

now_aware = unaware.replace(tzinfo=pytz.UTC)

以上是如何在 Python 中使朴素的日期时间对象具有时区感知能力?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn