0

与这个问题略有不同。datetime.date 对象是 datetime.datetime 对象的子集吗?是否存在变量可能既是 datetime.date 类型又是 datetime.datetime 对象的情况?

下面,我创建了一个 datetime.datetime 对象,该对象似乎也可以作为 datetime.date 对象进行验证。想法?

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
4

1 回答 1

4

实际上datetime.datetime是 的子类datetime.date

>>> issubclass(datetime.datetime, datetime.date)
True

因此,对于 , 的实例datetime.datetimeisinstance(instance, datetime.date)将返回True。但False如果两者相反,它就会返回。

>>> date = datetime.date(2011, 1, 1)
>>> isinstance(date, datetime.datetime)
False
>>> 
于 2013-07-13T15:47:23.960 回答