在python2.7中将数字,字符串转换为日期时间

时间:2018-07-15 08:39:39

标签: python python-2.7

我的日期时间有4个不同的列(年,月,日期,时间),值分别为(2001,01,01,1600Z)

如何在python中转换为日期时间?

5 个答案:

答案 0 :(得分:0)

使用datetime模块。

例如:

import datetime
dList = [(2001,01,01,'1600Z'), (2001,01,01,'1700Z')]
for i in dList:
    print( datetime.datetime(year=i[0], month=i[1], day=i[2], hour=int(i[3][:-3])) )

输出:

2001-01-01 16:00:00
2001-01-01 17:00:00

答案 1 :(得分:0)

使用datetime.strptime函数(文档中介绍了formatting rules

from datetime import datetime

values = (
('2001','01','01','1600Z'),
('2002','02','03','1500Z'),
('2003','02','03','1400Z'),
)

for v in values:
    d = datetime.strptime('-'.join(v), '%Y-%m-%d-%H%MZ')
    print(d)

打印:

2001-01-01 16:00:00
2002-02-03 15:00:00
2003-02-03 14:00:00

答案 2 :(得分:0)

这应该有效:

>>> import datetime
>>> tp=(2001,01,01,'1600Z')
>>> dt = datetime.datetime(tp[0],tp[1],tp[2],int(tp[3][:-3]),int(tp[3][2:][:-1]))
>>> print dt

答案 3 :(得分:0)

使用strptime

from datetime import datetime

val=(2001,01,01,"1600Z")
d=datetime.strptime("%s %s %s %s" %(val[0],val[1],val[2],val[3]), "%Y %m %d %H%MZ")

print d.isoformat() 

答案 4 :(得分:0)

使用dateutil包解析日期时间。您可以通过执行dateutil

安装pip install python-dateutil软件包
from dateutil import parser
date = parse('-'.join(('2001','01','01','1600Z')))
print (date)
# 2001-01-01 16:00:00+00:00