Python将ddmmyy格式转换为有效日期

时间:2013-05-03 23:27:37

标签: python date-format

我试图将日期字符串转换为有效的日期python格式,但是我的日期错误了:

>from datetime import datetime
>mydate = '300413' # is 2013-04-30
>print datetime.strptime(mydate,'%d%m%Y')
>0413-02-01 00:00:00

如何解析有效日期,这个日期字符串?

3 个答案:

答案 0 :(得分:4)

documentation中所列,%Y是四位数年份的代码。您应该使用两位数年份的代码%y

答案 1 :(得分:1)

如果您在文档中阅读strptime() and strftime() Behavior%Y表示:

  

以世纪为十进制数的年份[0001,9999]

但你给它一个2位数的年份,没有世纪。

那应该是ValueError。例如,如果您使用2.5.6,2.7.2,3.2.1或3.3.0进行尝试,则可以得到:

  

ValueError:时间数据'300413'与格式'%d%m%Y'

不匹配

但是,由于旧版Python中的一个错误,你可能会得到垃圾。

如果您想要一个2位数的年份,请使用%y,表示:

  

没有世纪的年份作为十进制数[00,99]。

答案 2 :(得分:1)

尝试:

print datetime.strptime('300413','%d%m%y')
2013-04-30 00:00:00

仅使用'%Y'

更改'%y'
相关问题