TypeError: descriptor ‘date’ for ‘datetime.datetime’ objects doesn’t apply to a ‘int’ object

  datetime, python, python-3.x

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 TypeErrors?

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

Source: Python-3x Questions

LEAVE A COMMENT