2015-02-05 357 views
1

我在嘗試確保用戶使用某種驗證檢查以特定格式輸入數據時遇到了麻煩。 保持用戶處於while循環狀態直到輸入日期爲dd/mm/yy格式。輸入日期的日期格式檢查python

我已經與

time.strptime(" %d/%m/%y") 

試過,但我似乎無法使它比較與用戶的格式,這個格式。

(蟒蛇新手)

回答

0

如果混合全年和縮寫的月份,您可以檢查:

from datetime import datetime 

while True: 
    try: 
     inp = input("Please enter date in format yyyy/mon/dd. ie 2015/feb/05") 
     dte = datetime.strptime(inp,"%Y/%b/%d") 
     break 
    except ValueError as e: 
     print("Invalid format") 
print(dte) 
0
import time 

valid = False 
while not valid: 
    date_str = input("Date:") 
    try: 
     time.strptime(date_str, "%d/%m/%y") 
     valid = True 
    except ValueError: 
     valid = False 

print(date_str) 

例如:

如果
Date:22/01/2015 
Date:22/01/15 
22/01/15 
+0

用戶輸入'01/01/15'你怎麼知道哪個是肯定的? – 2015-02-05 16:18:28

+0

嗯,當然,輸入語句應該更精確,並說它是日/月/年或dd/mm/yy。但這不是一個真正的編程問題。 – 2015-02-05 16:21:21

+0

但這並不意味着用戶將輸入正確的順序,唯一的方法是確保混合名稱和數字。僅僅因爲它的作用並不意味着用戶具有正確的實際順序 – 2015-02-05 16:22:22