0

我有一个奇怪的问题。

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

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

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 中试过这个!两者都给我True!具有相同的价值观。

多谢你们。

4

1 回答 1

6

.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().

于 2012-10-14T07:45:58.843 回答