我的数据文件大约有560万个时间戳,格式为“2016-10-17 15:00:40.739”。由于某些原因,它们现在都是字符串,我需要将它们全部转换为日期时间,因为我稍后需要计算它们之间的差异(例如:stamp1 - > stamp2 = 2hours,4minutes等)。
我发现了另一个问题“Converting string into datetime”,但我的格式不同,我无法得到适合我的答案。
非常感谢任何帮助。
答案 0 :(得分:1)
使用numpy' datetime64
:
>>> np.datetime64('2016-10-17 15:00:40.739')
numpy.datetime64('2016-10-17T15:00:40.739')
您可以通过简单地减去或使用numpy' timedelta64
来轻松找到差异:
>>> np.datetime64('2016-10-17 15:00:40.739') - np.datetime64('2016-10-15 15:00:40.739')
numpy.timedelta64(172800000,'ms')
>>> np.datetime64('2016-10-17 15:00:40.739') + np.timedelta64(1,'D')
numpy.datetime64('2016-10-18T15:00:40.739')
答案 1 :(得分:1)
试试这个:
from datetime import datetime
a = "2016-10-17 15:00:40.739"
b = datetime.strptime(a,'%Y-%m-%d %H:%M:%S.%f')
print(b)
>>> datetime.datetime(2016, 10, 17, 15, 0, 40, 739000)
定义日期的格式。请遵循以下指南:https://www.tutorialspoint.com/python/time_strptime.htm
答案 2 :(得分:0)
您可以使用 dateutil 模块将字符串日期转换为datetime对象。
from dateutil import parser
dt = parser.parse("2016-10-17 15:00:40.739")
print dt
print type(dt)
<强>输出:强>
2016-10-17 15:00:40.739000
<type 'datetime.datetime'>