2017-04-25 182 views
0

Bascially,我有一個datetime數組,我想轉換爲時間戳,但我卡住了。以下是我的時間數組。將日期時間數組轉換爲時間戳Python

Time 
Out[31]: 
array([datetime.datetime(2014, 2, 1, 0, 0, 0, 100000), 
     datetime.datetime(2014, 2, 1, 0, 0, 0, 300000), 
     datetime.datetime(2014, 2, 1, 0, 0, 0, 500000), ..., 
     datetime.datetime(2014, 2, 1, 19, 30, 0, 500000), 
     datetime.datetime(2014, 2, 1, 19, 30, 0, 700000), 
     datetime.datetime(2014, 2, 1, 19, 30, 0, 900000)], dtype=object) 

我已經試過

x = time.mktime(Time.timetuple()) 

,但我得到的錯誤:

'numpy.ndarray' object has no attribute 'timetuple' 

任何幫助將不勝感激。

+0

你認爲日期時間和時間戳之間的區別是什麼? –

+0

自1970/01/01以來已經過秒的時間不是時間戳嗎? –

回答

1

您可以存儲日期時間或時間戳,它們只是整數。這裏的時間戳是從日期時間計算的。

>>> from datetime import datetime 
>>> dt = datetime(2014, 2, 1, 0, 0, 0, 100000) 
>>> T = np.array([dt], dtype=np.datetime64) 
>>> import time 
>>> ts = int(time.mktime(dt.timetuple())) 
>>> T = np.array([ts], dtype=np.int32) 
0

不能使用Time.timetuple()因爲時間是numpy的陣列。你可以迭代數組,但是,像這樣:

x = [time.mktime(t.timetuple()) for t in Time]