我是新來的python,我試圖在while語句中使用一段時間。比較時間與日期時間
while hours_left is greater than 0:00
{
do some stuff
decrement hours_left
}
是我想要實現的。
但是我不能只說hours_left > 0
,因爲它是一個整數。
任何想法如何我可以鍵入0:00
作爲日期時間?
謝謝!
我是新來的python,我試圖在while語句中使用一段時間。比較時間與日期時間
while hours_left is greater than 0:00
{
do some stuff
decrement hours_left
}
是我想要實現的。
但是我不能只說hours_left > 0
,因爲它是一個整數。
任何想法如何我可以鍵入0:00
作爲日期時間?
謝謝!
你想要一個timedelta
對象。
import datetime
current_time = datetime.datetime(2011,12,12,12,0,0) # High Noon!
end_time = datetime.datetime(2011,12,25,0,0,0) # Santa?
while end_time-current_time > datetime.timedelta(0):
do_stuff()
current_time = current_time - datetime.timedelta(hours=1)
當然,取一個當前的日期時間對象,添加剩下的小時數,然後比較當前對象和剩下小時數的新對象。如果當前的那個比新的還少,那麼你還剩下幾個小時。
如果我正確理解你,你說我應該對當前時間進行一次新的呼叫,並用它來比較。問題是,這是一個日曆應用程序。時間是抽象的,這不是實際的。這意味着我不能只獲得當前時間。 – user974703
它可能是一個抽象的時間,我認爲你仍在某種程度上管理時間。如果它是靜止的,即使剩下0.0001小時,它仍然不會耗盡時間。 –
我一直在使用timedelta,我錯過的部分是,如果我理解正確,'timedelta(0)'將永遠= 0對嗎? – user974703
是的,這是正確的。 –
我得到一個類型錯誤的無法令人懷疑的類型,datetime.datetime()> datetime.timedelta() – user974703