使用datetime比较时间
我刚开始学习Python,想在一个循环里用时间。
while hours_left is greater than 0:00
{
do some stuff
decrement hours_left
}
这是我想实现的目标。
不过我不能直接写 hours_left > 0
,因为它是一个整数。
有没有什么办法可以把 0:00
作为日期时间来处理呢?
谢谢!
2 个回答
0
当然可以,首先获取当前的日期和时间对象,然后在这个对象上加上剩下的小时数。接着,把当前的对象和加了小时数的新对象进行比较。如果当前的对象小于新对象,那就说明你还有剩下的小时数。
2
你需要一个 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)