2013-03-07 69 views
0

請看看下面的描述,讓我知道爲什麼 31/12/9999 23時59分29秒的時間戳記不是253402264799,但253402261199.時間戳31/12/9999 23時59分29秒

非常感謝,

import datetime 
d1 = datetime.datetime(1970, 1,1,10,0,0) ; I am in zone time 10 
d2 = datetime.datetime(1970, 1,2,23,59, 59) 
print d2 - d1 --> 1 day, 13:59:59 
convert 1 day, 13:59:59 to sec 
= 136799s <-- (48 + 14) * 3600 - 1 

d1 = datetime.datetime(1970, 1,1,10,0,0) 
d2 = datetime.datetime(9999, 12, 31, 23, 59, 59) 
print d2 - d1 --> 2932896 days, 13:59:59 
convert 2932896 days, 13:59:59 to sec 
253402264799sec <-- (2932896 * 24 + 14) * 3600 - 1 

print datetime.datetime.fromtimestamp(253402264799) --> exception throw 

print datetime.datetime.fromtimestamp(253402261199) --> 31/12/9999 23:59:59 
+2

一小時差 - 夏令時? – Floris 2013-03-07 05:36:22

回答

0

的原因是時間夏令時。 10區在夏季時間提前11個小時。

+1

但這些日期都不是在夏天,是嗎?你能擴展嗎? – Floris 2013-03-07 22:12:00

相關問題