我試圖從用戶處獲取日期和小時。從輸入中處理時間的最佳方法
date = raw_input("enter date (example: 25/12/1990) ")
hour = raw_input("enter hour (example: 20:00) ")
這就是我如何做到這一點,但我認爲這不是一個很好的實現方法。
輸入後,我想比較輸入的時間與當前時間,以及其他時間。
我打算使用python的time
模塊。
你會建議什麼?
我試圖從用戶處獲取日期和小時。從輸入中處理時間的最佳方法
date = raw_input("enter date (example: 25/12/1990) ")
hour = raw_input("enter hour (example: 20:00) ")
這就是我如何做到這一點,但我認爲這不是一個很好的實現方法。
輸入後,我想比較輸入的時間與當前時間,以及其他時間。
我打算使用python的time
模塊。
你會建議什麼?
上面給出了一個字符串的日期。您需要將該字符串轉換爲datetime對象,並處理出現的任何錯誤。如果你限制你的用戶簡單日期,那麼你可以做一切與datetime模塊,像這樣:
>>> import datetime
>>> date = "15/03/2012"
>>> datetime.datetime.strptime(date, "%d/%m/%Y")
datetime.datetime(2012, 3, 15, 0, 0)
>>> hour = "13:01"
>>> datetime.datetime.strptime(hour, "%H:%M")
datetime.datetime(1900, 1, 1, 13, 1)
>>> datetime.datetime.strptime(date + " " + hour, "%d/%m/%Y %H:%M")
datetime.datetime(2012, 3, 15, 13, 1)
>>> date = "1/4/2012"
>>> hour = "3:01"
>>> datetime.datetime.strptime(date + " " + hour, "%d/%m/%Y %H:%M")
datetime.datetime(2012, 4, 1, 3, 1)
您可以使用其他的datetime模塊的代碼做的事情一樣獲取當前日期和時間,或找到差異在兩個日期或時間之間。
你的例子時間不是很好。你的約會也不是。我會建議12/25/1990和14:25的樣本,這樣很顯然它是MM/DD/YYYY,除非你打算相反。當時,這表明你打算使用24小時制。除非你不需要24小時制,否則他們需要指定AM/PM。 – jgritty
@jgritty你是對的。我已經更新了這些。 – Lior
看看'strptime'來處理日期和時間字符串.... –