如何以毫秒为单位将列表转换为日期时间?

时间:2018-12-12 18:13:00

标签: python python-2.7 list datetime

我在字符串列表中有这些数字:

2018,12,12,11,10,38.971

,我想将其转换为:

2018/12/12 11:10:38.971

2 个答案:

答案 0 :(得分:2)

您可以在不修改字符串的情况下解析它,只需指定格式 datetime.strptime()适当地:

In [1]: from datetime import datetime

In [2]: s = "2018,12,12,11,10,38.971"

In [3]: datetime.strptime(s, "%Y,%m,%d,%H,%M,%S.%f")
Out[3]: datetime.datetime(2018, 12, 12, 11, 10, 38, 971000)

如果您输入的内容是列表,则可以先“ str.join”列表中的项目,然后使用.strptime()

In [10]: l = ['2018', '12', '12', '11', '10', '38.971']

In [11]: s = ",".join(l)

In [12]: datetime.strptime(s, "%Y,%m,%d,%H,%M,%S.%f")
Out[12]: datetime.datetime(2018, 12, 12, 11, 10, 38, 971000)

答案 1 :(得分:0)

您可以将日期时间的strftime与日期时间的strptime一起使用,就像这样:

from datetime import datetime

lst = ['2018','12','12','11','10','38.971']
d = ' '.join(lst)

print(datetime.strptime(d, '%Y %m %d %H %M %S.%f').strftime('%Y/%m/%d %H:%m:%S.%f'))
# 2018/12/12 11:12:38.971000