我是新来的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