2014-02-10 58 views
2

我在python中有一個日期時間對象,我想創建一個函數來檢查輸入是在早上還是在日期時間的下午(即,之前或之後中午12點)。如何手動創建時間12:00,並且我可以使用大於還是小於此符號(<,>)?如何檢查日期時間是否在中午

+2

您可以根據您的決定* *僅在小時部分。 –

回答

5

調用datetime.datetime.time() methoddatetime對象,並比較其與datetime.time()對象:

if dt.time() < datetime.time(12): 

或只看datetime.datetime.hour attribute

if dt.hour < 12 

後者是更簡單,前者爲您提供了更可靈活地與包含一分鐘組件的時間進行比較:

if dt.time() < datetime.time(12, 30) 

演示:

>>> import datetime 
>>> dt = datetime.datetime.now() 
>>> dt 
datetime.datetime(2014, 2, 10, 10, 39, 30, 768979) 
>>> dt.time() < datetime.time(12) 
True 
>>> dt.hour < 12 
True 
>>> dt = dt.replace(hour=20) 
>>> dt 
datetime.datetime(2014, 2, 10, 20, 39, 30, 768979) 
>>> dt.time() < datetime.time(12) 
False 
>>> dt.hour < datetime.hour 
False 
相關問題