python - 无法将 datetime.datetime 与 datetime.date 比较

  显示原文与译文双语对照的内容

我下面的代码和上面越来越知道错误。 既然我熟悉Python我看不懂这里的语法以及如何我可以解决这个错误:

if not start or date < start: start = date
时间:

datetime.date()从datetime转换为日期的方法,但是没有 stdlib方法来进行相反的转换。

你可以使用 datetime.datetime.combine方法来比较date对象转换为datetime对象,然后比较这两个对象与其他datetime对象。

import datetime

dt1 = datetime.datetime(2011, 03, 03, 11, 12)
day = datetime.date(2011, 03, 02)
dt2 = datetime.datetime.combine(day, datetime.time(0, 0))

print dt1 > dt2

指定变量的开始时间和日期属于不同的类型,我猜。 一个是,另一个是日期的datetime 。 你可能需要显示更多的代码才能获得体面的帮助。

但看看这个: http://docs .python .org/library/datetime .html#available类型

它指出日期时间datetime对象一样具有属性,比如年,月和日,返回date对象中的datetime 。

出现此问题后尝试比较日期字段( DateField) 和datetime字段( DateTimeField) 。

解决办法就是检查在该页中的字段定义模型和确保类型一致。

我劝你最好全部替换 DateFieldDateTimeField

不要总是启动datetime,这样使用它:

if not start or date < start.date(): start = date

觉得有需要将日期转换为datetime 在python中,你可以只是先对表和比较。

或者你有其他方法来创建一个新的datetime要转换使用日期和时间00:00 。

...