可以在Python中了解时区吗?

时间:2017-05-11 17:54:34

标签: python date datetime timezone pytz

确保日期时间是特定的时区,有很多SO答案。例如,您可以确保您的日期时间为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 =< UTC>)

但是,当我从时区感知的日期时间开始,我似乎失去了时区意识。

now_utc_aware.date()
  

datetime.date(2017,5,11)

有趣的是,there's a SO question似乎正好问这个问题,并且特别关注日期(datetime.today()),但答案(包括已接受的答案)与日期时间有关。我看到的将时区感知添加到日期时间的代码似乎都会在我的datetime.date对象上抛出错误。

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

1 个答案:

答案 0 :(得分:0)

来自the Python docs

  

class datetime。 date
  一个理想化的天真日期,...属性:年,月和日。

时间或时区没有任何东西。这只是个约会。

虽然地球上并非所有地方同时出现(因为时区),但这并不意味着约会本身具有时区意识。

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