我遇到了一个奇怪的问题。
我正在运行一个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中试过这个!两个都给我真实!具有相同的值。
谢谢你们。
答案 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()
。