我想将csv文件中的时间转换为Python中的日期时间对象,以便我可以计算时差。但是当我这样做时,我一直在犯错误。
我的代码是:import datetime
from time import strptime
a=datetime.strptime('1/1/17 0:03', '%m/%d/%Y %H:%M')
b=datetime.strptime('1/31/17 9:57', '%m/%d/%Y %H:%M')
我已经尝试了两个日期和时间,我一直在得到如下的值错误:
b=datetime.strptime('1/31/17 9:57', '%m/%d/%Y %H:%M')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/_strptime.py", line 565, in _strptime_datetime
tt, fraction = _strptime(data_string, format)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/_strptime.py", line 362, in _strptime
(data_string, format))
ValueError: time data '1/31/17 9:57' does not match format '%m/%d/%Y %H:%M'
我做错了什么?
根据documentation!看起来日期和月份应该为零填充(01,02,... 31),对于年份,您应该使用%y(小写)。时间也应该为零填充(00:03)。
您需要使用datetime.strptime()对不同的格式变量进行一些研究。对于月份的'%m',但填充为零。你可以阅读strptime参考on this site here。
from datetime import datetime
from time import strptime
a=datetime.strptime('01/01/2017 00:03', '%m/%d/%Y %H:%M')