On , I learnt ...

datetime.datetime is a subclass of datetime.date

See for yourself:

>>> import datetime
>>> isinstance(datetime.datetime.now(), datetime.date)
True

Apparently, this is not a bug but it is certainly confusing.