比较datetime对象python中的时间

时间:2012-10-14 07:26:50

标签: python django datetime comparison

我遇到了一个奇怪的问题。

我正在运行一个django应用程序,在我的一个模型中,我有一个方法来比较用户给出的时间和存储在模型db中的时间

因此,出于调试目的,我这样做。

print self.start
print start
print self.start.time < start.time

输出是:

2012-10-15 01:00:00+00:00
2012-10-22 01:01:00+00:00
False

这是怎么回事?!?!?!

我在django shell和python cli中试过这个!两个都给我真实!具有相同的值。

谢谢你们。

1 个答案:

答案 0 :(得分:5)

.time方法,而不是属性。

>>> import datetime
>>> a = datetime.datetime(2012, 10, 15, 1, 0, 0)
>>> a.time
<built-in method time of datetime.datetime object at 0x10049f508>
>>> a.time()
datetime.time(1, 0)

因此,正确的代码为if self.start.time() < start.time()