There is another inconsistency that this patch does not seem to cure. With patch applied and D and DT defined as in OP,
>>> D(1900,1,1) > DT(1900,1,1)
True
but
>>> DT(1900,1,1) < D(1900,1,1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't compare DT to D
and
>>> date(1900,1,1) < datetime(1900,1,1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't compare datetime.datetime to datetime.date
Note that without the patch,
>>> D(1900,1,1) > DT(1900,1,1)
False
but both behaviors seem to be wrong. |