Reputation: 1128
Slightly different question from this one. Are datetime.date objects a subset of datetime.datetime objects? Are there instances when a variable may be both a datetime.date type AND a datetime.datetime object?
Below, I make a datetime.datetime object that also seems to validate as a datetime.date object. Thoughts?
In [1]: import datetime
In [2]: x = datetime.datetime(2013, 7, 13, 13, 0)
In [3]: isinstance(x, datetime.date)
Out[3]: True
In [4]: isinstance(x, datetime.datetime)
Out[4]: True
Upvotes: 0
Views: 630
Reputation: 8610
Actually datetime.datetime
is a subclass of datetime.date
.
>>> issubclass(datetime.datetime, datetime.date)
True
So for an instance of datetime.datetime
, isinstance(instance, datetime.date)
will return True
. But it returns False
if the two reverse.
>>> date = datetime.date(2011, 1, 1)
>>> isinstance(date, datetime.datetime)
False
>>>
Upvotes: 5