0

以下の説明をご覧になり、31/12/999923:59:29のタイムスタンプが253402264799ではなく253402261199である理由を教えてください。

どうもありがとう、

ホイ

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
4

1 に答える 1

0

その理由は、Time Daylight Saving です。ゾーン 10 は夏時間で 11 時間進んでいます。

于 2013-03-07T21:30:48.270 に答える