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.