【发布时间】:2017-10-10 20:59:48
【问题描述】:
有很多关于确保日期时间是特定时区的答案。例如,您可以确保您的日期时间是 UTC 与
from datetime import datetime
import pytz
now_utc = datetime.utcnow()
产生:
datetime.datetime(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()
datetime.date(2017, 5, 11)
有趣的是,there's a SO question 似乎正是在问这个问题,特别是关于一个日期(datetime.today()),但答案(包括一个接受的答案)与日期时间有关。我看到的将时区感知添加到日期时间的代码似乎都在我的 datetime.date 对象上引发了错误。
是否可以将时区感知添加到日期对象?
【问题讨论】:
-
为什么,更重要的是,如何?时区的基本方面是时间偏移。日期仅在改变全年调整时间的方式中起次要作用。如果您将意识添加到约会中,它会是什么样子?哪些操作有意义?
-
我想象这样一种情况,您在不同的软件中使用
datetime.today()记录事件,在不同的表中记录信息。在日期加入表的人可能想要确认dates 都指的是相同的日期,即.today()s 使用相同的时区而不是不同的本地时区记录。 -
我同意你的问题,尽管时间感知的概念对于日期来说远不如日期时间那么简单。也许是没有意义的。因此,我的问题是“日期可以感知时间”而不是“我如何让日期感知时间?”
标签: python date datetime timezone pytz