0

嗨,我正在编写一个依赖于时间的程序,并观察一些我无法弄清楚的日期时间对象的奇怪行为。我正在使用/遇到问题的代码是......

now = datetime.now()
time_changed_state = some datettime object previously initialized
time_delay = some integer
time_arrival = time_changed_state + timedelta(minutes=time_delay)

if now < time_arrival:
   do something
elif now >= time_arrival:
   do something different

我一直在处理测试用例,以确保代码按照我希望的方式运行,但似乎并非如此。

当 time_delay = 0 时,我发现了奇怪的行为,并且我知道现在将 >= time_arrival,因为 time_changed_state 是在此函数调用之前初始化的日期时间对象,现在已在函数中初始化。但是,正在执行“做某事”代码而不是“做某事不同的代码”。

非常感谢!

4

1 回答 1

1

我已经编辑了您的代码,这是您所期望的吗?

from datetime import datetime
from datetime import timedelta

now = datetime.now()
time_changed_state = now - timedelta(hours=2)
time_delay = 0
time_arrival = time_changed_state + timedelta(minutes=time_delay)

if now < time_arrival:
   print 'something'
elif now >= time_arrival:
   print 'something different'
于 2012-04-06T10:44:39.380 回答