[英]converting numeric,string to datetime in python2.7
我有一個datetime進入4個不同的列(年,月,日期,時間),值分別為(2001,01,01,1600Z)
如何在python中轉換為datetime?
使用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
使用datetime.strptime
函數( 格式規則在文檔中進行了描述):
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
這應該工作:
>>> 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
使用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()
使用dateutil
包解析日期時間。 您可以通過執行pip install python-dateutil
來安裝dateutil
軟件包
from dateutil import parser
date = parse('-'.join(('2001','01','01','1600Z')))
print (date)
# 2001-01-01 16:00:00+00:00
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.