2016-01-15 90 views
0

在Python 3.5,當我轉換POSIX起源1970-01-01到時間戳(以秒爲單位),而不是0我得到以下結果:意外的結果轉換時的日期時間(1970,1,1),以秒

import datetime as dt 
t = dt.datetime(1970,1,1) 
t.timestamp() 
-10800.0 

預期

t = dt.datetime(1970,1,1,3) 
t.timestamp() 
0.0 

兩個結果都頗爲意外對我說:0由生產。什麼可能是這種行爲的原因?

+2

提示:時區。 –

+0

謝謝,你會發布它作爲答案? –

+1

你需要UTC時區,在這裏得到零:['t.replace(tzinfo = timezone.utc).timestamp()'](http://stackoverflow.com/a/8778548/4279) – jfs

回答

1

根據文檔:天真的日期時間實例被假定爲代表的本地時間

你得到一個負計數,所以我猜測你恰好在UTC-3(10800/60/60)(你會得到一個0 dding 3小時)

作出一個時區知道日期,你應該回到0.

+0

我懷疑一個時區知曉的日期應該是UTC時區回到0 ... –

+0

確實。我的意思是你當前的當地時間的時區 – mementum

相關問題