2017-05-11 45 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

日期時間。 日期
理想化的天真約會,...屬性:年,月和日。

沒有什麼時間或時區。這只是一個約會。

雖然地球上的每個地方都不是同時在同一天(因爲時區),但這並不意味着日期本身具有時區意識。

作爲一個現實世界的比喻,把日期想象成日曆上的一個正方形。如果沒有引入時間,人們就無法開始談論時區,時間是由時鐘測量的,而不是日曆。

相關問題