2024-07-04 07:28:57 发布
网友
我是following以下关于如何在python中将字符串转换为date对象的指南,但是我遇到了一个我不太理解的错误。在
我正努力做到以下几点:
buildDateArray.append(dt.strptime(date,"%y-%b-%d %H:%M:%S"))
但我得到了如下错误:
我不明白为什么'2014-11-17 00:00:00'与格式不匹配'%y-%b-%d%H:%M:%S'
你能看到错误是什么吗?在
您的格式有两个问题:
%y匹配一个两位数的年,但是您的年份包含4。使用%Y(大写Y)代替。
%y
%Y
Y
%b匹配一个名为月份的缩写;使用%m来匹配数字月份;您需要在这里匹配11,而不是Nov。
%b
%m
11
Nov
演示:
>>> from datetime import datetime >>> datetime.strptime('2014-11-17 00:00:00', '%Y-%m-%d %H:%M:%S') datetime.datetime(2014, 11, 17, 0, 0)
当你面对这样的问题时,试着把它缩小到组件上;例如,你可以尝试只是年份部分,它仍然会失败,但是不同的错误会给你一个很大的提示,说明它为什么会失败:
{{a2找到了一个匹配的}文档},因为你需要使用^ a1的细节来纠正它。在
你的格式有两个问题
y
最终格式为:
"%Y-%m-%d %H:%M:%S"
您的格式有两个问题:
%y
匹配一个两位数的年,但是您的年份包含4。使用%Y
(大写Y
)代替。%b
匹配一个名为月份的缩写;使用%m
来匹配数字月份;您需要在这里匹配11
,而不是Nov
。演示:
当你面对这样的问题时,试着把它缩小到组件上;例如,你可以尝试只是年份部分,它仍然会失败,但是不同的错误会给你一个很大的提示,说明它为什么会失败:
^{pr2}${{a2找到了一个匹配的}文档},因为你需要使用^ a1的细节来纠正它。在
你的格式有两个问题
Y
来匹配四位数的年份,而不是小写的y
(它只匹配两位数字)%m
代替%b
匹配数字月份而不是缩写月份(即11
vsNov
)最终格式为:
相关问题 更多 >
编程相关推荐