使用datetime比较时间

0 投票
2 回答
4113 浏览
提问于 2025-04-17 08:14

我刚开始学习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)

撰写回答