2017-04-25 186 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]