2015-06-26 33 views
-1

我正在使用CPython。 這是代碼:Python:strptime()格式化

import datetime 
userBirthday = print("Enter your birthday(DD/MM/YYYY): ") 
compBirthday = datetime.datetime.strptime(userBirthday, "%d/%b/%Y") 

我收到此錯誤信息:

ValueError: time data '13/12/2001' does not match format '%d/%b%Y' 
+0

'%b'是縮寫,如「Jun」,「Apr」。閱讀文檔,它就在那裏。 – mehtunguh

回答

1

你想這個:

datetime.datetime.strptime(userBirthday, "%d/%m/%Y") 

其中M代表 「月」。

此外,結帳dateutil.parser.parse,它可以識別各種格式。

+0

謝謝先生!你是一個拯救生命的人。當我開始學習Python 3時,%b是爲了一個月,因爲%m被保留了幾分鐘。再次感謝! – Alkemyk

+0

明天我會接受你的回答,因爲我必須等6分鐘,而且我的國家已經很晚了。 – Alkemyk

+0

@Alkemyk:'%b'在Python 3中表示同樣的東西 - [月份縮寫,不是數字](https://docs.python.org/3/library/datetime.html#strftime-and-strptime-行爲)。分鐘是'%M'(大寫),'%m'(小寫)總是月份編號。 – jfs