字符串到时间戳转换

时间:2018-02-05 15:27:53

标签: python string datetime type-conversion timestamp

我的数据文件大约有560万个时间戳,格式为“2016-10-17 15:00:40.739”。由于某些原因,它们现在都是字符串,我需要将它们全部转换为日期时间,因为我稍后需要计算它们之间的差异(例如:stamp1 - > stamp2 = 2hours,4minutes等)。

我发现了另一个问题“Converting string into datetime”,但我的格式不同,我无法得到适合我的答案。

非常感谢任何帮助。

3 个答案:

答案 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'>