嗨我正在编写一个程序,它依赖于时间并观察一些奇怪的行为,但我不太清楚datetime对象。我与/时遇到麻烦,是工作中的代码...Python中的日期时间比较行为
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
我一直在与测试用例为了OT确保代码的行为方式,我想它,但它似乎没有至。
当time_delay = 0时,我发现了一个奇怪的现象,我知道现在会是> = time_arrival,因为time_changed_state是在此函数调用之前初始化的日期时间对象,现在已在函数中初始化。但是,“执行某些事情”的代码正在执行,而不是“做一些不同的代码”。
非常感谢!
你确定'time_arrival'是过去吗? – 2012-04-06 09:42:41
是的,我很确定它在过去。我甚至尝试使用下面的代码进行测试,在那里我刚刚初始化time_changed_state,但当它显然是错误的时候仍然评估为true。 – 2012-04-06 16:03:47