Python: how can I check whether an object is of type datetime.date?

datetime, python

Solution

i believe the reason it is not working in your example is that you have imported `datetime` like so :

from datetime import datetime

this leads to the error you see

In [30]: isinstance(x, datetime.date)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/<ipython-input-30-9a298ea6fce5> in <module>()
----> 1 isinstance(x, datetime.date)

TypeError: isinstance() arg 2 must be a class, type, or tuple of classes and types

if you simply import like so :

import datetime

the code will run as shown in all of the other answers

In [31]: import datetime

In [32]: isinstance(x, datetime.date)
Out[32]: True

In [33]: 

Problem

I have tried a few obvious options but none of them works: ``` In [150]: x Out[150]: datetime.date(2012, 9, 1) In [151]: type(x) Out[151]: datetime.date In [152]: isinstance(x, datetime.date) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-152-9a298ea6fce5> in <module>() ----> 1 isinstance(x, datetime.date) TypeError: isinstance() arg 2 must be a class, type, or tuple of classes and types In [153]: x is datetime.date Out[153]: False In [154]: type(x) is datetime.date Out[154]: False ``` What is the right way of doing this?

Original source

Related problems