Python 日期时间格式与内容不匹配
我已经检查了很多与这个主题相关的问题,但是我找不到我的错误 我的代码可以简化为:Python 日期时间格式与内容不匹配,python,datetime,Python,Datetime,我已经检查了很多与这个主题相关的问题,但是我找不到我的错误 我的代码可以简化为: date = "2016/07/20" time = "11:44:20.920" date_time = datetime.strptime(date + " " + time, '%y/%m/%d %H:%M:%S.%f') 我得到的错误如下: Traceback (most recent call last): File "adma_shortener.py", line 50, in <mod
date = "2016/07/20"
time = "11:44:20.920"
date_time = datetime.strptime(date + " " + time, '%y/%m/%d %H:%M:%S.%f')
我得到的错误如下:
Traceback (most recent call last):
File "adma_shortener.py", line 50, in <module>
adma_time[ii] = datetime.strptime(a, '%y/%m/%d %H:%M:%S.%f').replace(microsecond=0)
File "/usr/lib/python2.7/_strptime.py", line 325, in _strptime
(data_string, format))
ValueError: time data '2016/07/20 11:44:20.920' does not match format '%y/%m/%d %H:%M:%S.%f'
回溯(最近一次呼叫最后一次):
文件“adma_shortener.py”,第50行,输入
adma_时间[ii]=datetime.strtime(a,'%y/%m/%d%H:%m:%S.%f')。替换(微秒=0)
文件“/usr/lib/python2.7/_strtime.py”,第325行,在_strtime中
(数据字符串,格式))
ValueError:时间数据“2016/07/20 11:44:20.920”与格式“%y/%m/%d%H:%m:%S.%f”不匹配
有人能看出我的错误吗?
提前感谢年度指令应采用caps格式:
date_time = datetime.strptime(date + " " + time, '%Y/%m/%d %H:%M:%S.%f')
# ^
%y
没有世纪作为零填充十进制数的年份
%Y
以世纪为十进制数的年份
参考:
%y
是“没有世纪的年份为零填充十进制数”的说明符,表示两位数。请改用%Y
。如果您不太熟悉,我建议您改用。这要简单得多。例如:
>>> import dateutil.parser
>>> date = "2016/07/20"
>>> time = "11:44:20.920"
>>> my_date = dateutil.parser.parse('{date} {time}'.format(date=date, time=time))
>>> my_date
datetime.datetime(2016, 7, 20, 11, 44, 20, 920000)
这不是特别好的建议。如果日期的格式已知,则绝对应该使用
strtime
,因为它速度更快,而且解析器可能会错误地匹配格式错误的日期输入。