2012-04-02 68 views
0

我今天遇到這個問題,我沒有解釋它。將日期時間對象轉換爲時間戳並返回給我一個不同的時間

我有一個Python的datetime對象:

dt = datetime.datetime(2012, 3, 31, 18, 30, 48, tzinfo=<FixedOffset '-04:00'>) 

其中,我的理解是在一個時區由4個小時內從UTC偏移18:30。 然後我試圖將其轉換成timestamp像這樣:

epo = time.mktime(dt.timetuple()) and get back 1333247448.0. 

然而,當我嘗試將其轉換回,以確保它使用日期

time.datetime.fromtimestring(epo), 

我回來

datetime.datetime(2012, 3, 31, 19, 30, 48) 
是正確的

請注意,時間是19而不是18.

有人可以告訴我爲什麼它在做那?

+0

日光節約時間? – 2012-04-02 18:28:57

+0

請檢查您的'epo':'date -d @ 1333247448 -u'是'Sun Apr 1 02:30:48 UTC 2012'??? – 2012-04-02 19:01:43

+0

我完全忘記了夏令時。 – Lukich 2012-04-02 19:32:44

回答

1

嘗試使用的

time.localtime(epo) 

代替

time.datetime.fromtimestring(epo) 
相關問題