2014-04-16 42 views
1

我试图将字符串转换成日期对象,我有这行代码:蟒蛇/ Django的strptime“坏指令”

datetime.strptime('01/04/2014', '%d/%m%/%y') 

我也得到:

ValueError: '/' is a bad directive in format '%d/%m%/%y' 

我试图改变/与其他字符,并且还没有分离器,但它抛出了相同的错误(该字符)

Django的1.5.1 的Python 2.7.3

任何想法这是什么意思?谷歌不会为同样的问题抛出许多结果。

回答

1

%m指令后面有太多%; %/不是一个有效的指令,ValueError告诉你这一点。

用途:

datetime.strptime('01/04/2014', '%d/%m/%Y') 

而是使用%Y(资本Y)一年解析与世纪。

演示:

>>> datetime.strptime('01/04/2014', '%d/%m/%Y') 
datetime.datetime(2014, 4, 1, 0, 0) 
+0

这确实是问题的答案。除了期望两位数年份的%y代码外,请使用%Y代替。 –

+0

@FreekWiekmeijer:*方式*在你前面。 :-) –

+0

哇。我多么尴尬。我不敢相信我没有发现这一点。多谢你们 – user2355278