日期可以在 Python 中感知时区吗?



关于确保日期时间是特定时区,有很多SO答案。例如,您可以确保日期时间为 UTC

from datetime import datetime
import pytz
now_utc = datetime.utcnow()

这会产生:

日期时间

.日期时间(2017, 5, 11, 17, 37, 5, 602054)

您可以使用以下命令使该日期时间知道其时区(例如,用于断言两个不同的日期时间对象来自同一时区)

now_utc_aware = datetime.now(pytz.utc) 

datetime.datetime(2017, 5, 11, 17, 38, 2, 757587, tzinfo=)

但是,当我从时区感知日期时间中提取日期时,我似乎失去了时区感知。

now_utc_aware.date()
日期

时间.日期(2017, 5, 11)

有趣的是,有一个SO问题似乎正好问这个问题,特别是关于日期(datetime.today()),但答案(包括一个公认的答案)与日期时间有关。我看到的用于为日期时间添加时区感知的代码似乎都在我的datetime.date对象上抛出错误。

是否可以向日期对象添加时区感知?

来自 Python 文档:

上课日期时间。日期
一个理想化的天真约会,...属性:年、月、日。

那里没有时间或时区。 这只是一个约会。

虽然地球上并非任何地方都同时在同一日期(由于时区),但这并不意味着日期本身具有时区意识。

作为现实世界的类比,将日期视为日历上的正方形。 人们不能在不引入时间的情况下开始谈论时区,时间是由时钟而不是日历来衡量的。

相关内容

  • 没有找到相关文章

最新更新