2012-06-13 35 views
0

我現在只是對Python感到困惑。 我想要求用戶以特定格式輸入日期。但我也想檢查輸入中是否有兩個「/」。例如:MM/DD/YYYY ....否則我會輸出錯誤信息。Python - 檢查日期字符串中的字符

這是我到目前爲止有:

date = str((raw_input("Please enter a date in the form MM/DD/YYYY: "))) 
while date[(2),(5)]!="/": 
    date_input=(str(raw_input("Error: Your date must be in the format YYYY/MM/DD including the slashes, try again: "))) 

但是我很堅持。誰能幫我?謝謝。

+0

首先你要的特定格式的日期,並把它放在某個變量,但是呢,如果它的格式不正確,然後以_different_格式請求它,並將其放入_different_變量中!順便說一句,'raw_import'返回一個字符串,所以不需要使用'str'。 – MRAB

+0

另外,日期[(2),(5)]是發明語法... –

回答

2

使用datetime.strptime解析的日期,它會告訴你什麼時候該格式是錯誤的:

import datetime 
d = datetime.datetime.now() 
try: 
    d.strptime(date_str, "%d/%m/%Y") 
except ValueError: 
    print "Bad format!"