2014-04-16 40 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