2017-05-11 22 views
1

确保日期时间是特定的时区有很多SO答案。例如,您可以确保您的日期时间是UTC与可以日期为Python中的时区感知?

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对象上抛出错误。

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

+0

为什么,更重要的是,如何?时区的基本方面是时间偏移。日期在改变整个一年的时间调整方面只扮演次要角色。如果您将意识添加到日期中,它会是什么样子?什么操作会有意义? –

+0

我想象一下,在不同的软件中使用'datetime.today()'记录事件,并在不同的表中记录信息。有人在日期时加入表格可能需要确认'日期'都是指相同的日期,即'.today()'使用相同的时区而不是不同的本地时区记录。 –

+0

我同意你的问题,但时间意识的概念比日期时间要简单得多。也许这没有意义。因此,我的问题是“可以日期是时间意识”而不是“我如何让日期具有时间意识?” –

回答

0

the Python docs

日期时间。 日期
理想化的天真约会,...属性:年,月和日。

没有什么时间或时区。这只是一个约会。

虽然地球上的每个地方都不是同时在同一天(因为时区),但这并不意味着日期本身具有时区意识。

作为一个现实世界的比喻,把日期想象成日历上的一个正方形。如果没有引入时间,人们就无法开始谈论时区,时间是由时钟测量的,而不是日历。

相关问题