簡體   English   中英

在python2.7中將數字,字符串轉換為日期時間

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM