我的日期时间有4个不同的列(年,月,日期,时间),值分别为(2001,01,01,1600Z)
如何在python中转换为日期时间?
答案 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