Collectives™ on Stack Overflow
Find centralized, trusted content and collaborate around the technologies you use most.
Learn more about Collectives
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Learn more about Teams
Ask Question
I've just encountered this issue, and couldn't find a reasonable answer for it on the front page of Google. It's similar to
this question asked in 2011
, but for a newer version of Python, which results in a different error message.
What is causing these
TypeError
s?
Integers
import datetime
my_date = datetime.datetime.date(2021, 3, 2)
Results in the error:
TypeError: descriptor 'date' for 'datetime.datetime' objects doesn't apply to a 'int' object
Strings
Similarly, replacing the integers with strings also gives the same error:
import datetime
my_date = datetime.datetime.date("2021", "3", "2")
Gives:
TypeError: descriptor 'date' for 'datetime.datetime' objects doesn't apply to a 'str' object
Lists
And using a list gives the same error:
import datetime
my_date = datetime.datetime.date([2021, 3, 2])
Results in:
TypeError: descriptor 'date' for 'datetime.datetime' objects doesn't apply to a 'list' object
Similarly, using from datetime import datetime
and datetime.date
will result in the following error messages respectively:
TypeError: descriptor 'date' for 'datetime' objects doesn't apply to a 'int' object
TypeError: descriptor 'date' for 'datetime' objects doesn't apply to a 'str' object
TypeError: descriptor 'date' for 'datetime' objects doesn't apply to a 'list' object
–
–
–
–
–
The issue is that datetime.datetime.date()
is a method on a datetime.datetime
object. We were confusing the datetime
module with the datetime.datetime
class.
What we're really looking for is the datetime.date()
constructor.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.