无法比较datetime.datetime和datetime.date
我有以下代码,但出现了上面的错误。因为我刚接触Python,所以对这里的语法有点困惑,不太明白怎么才能修复这个错误:
if not start or date < start: start = date
8 个回答
14
假设start是一个日期时间,使用方法如下:
if not start or date < start.date(): start = date
我觉得在Python中没有必要把日期转换成日期时间,因为你可以直接反过来做,进行比较。
或者你也可以用其他方法,通过日期转换并把时间设置为00:00来创建一个新的日期时间。
21
你可以使用 datetime.datetime.combine
这个方法,把日期对象和时间对象结合起来,然后再把这个组合后的对象和另一个时间对象进行比较。
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
149
有一个叫做 datetime.date()
的方法,可以把日期时间转换成只有日期的格式。
如果你想把日期转换回日期时间,可以用这个函数 datetime.datetime(d.year, d.month, d.day)
。