Я пытаюсь создать datetime.date
объект из целых чисел, это мой код:TypeError при создании объекта даты
datetime.date(2011, 1, 1)
Это дает мне эту ошибку:
TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int'
Я пытаюсь создать datetime.date
объект из целых чисел, это мой код:TypeError при создании объекта даты
datetime.date(2011, 1, 1)
Это дает мне эту ошибку:
TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int'
Если вы сделаете следующее, он будет работать аккуратно:
>>> import datetime
>>> datetime.date(2011,1,1)
datetime.date(2011, 1, 1)
Однако, если вы сделаете это:
from datetime import datetime
, а затем
datetime.date(2011,1,1)
метод вы на самом деле является вызовом datetime.datetime.date(2011,1,1)
, который потерпит неудачу:
>>> datetime.datetime.date(2011,1,1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int'
Просто использовать надлежащий import
и вы установите:
>>> from datetime import date
>>> today = date.today()
>>> today
datetime.date(2016, 3, 4)
>>> date(2016, 3, 4)
datetime.date(2016, 3, 4)
ошибка может быть связано с вашей import statement
.
Изменить его из:
from datetime import datetime
To:
import datetime
>>> from datetime import datetime
>>> date = datetime(year=2011,month=1,day=1)
>>> print date
2011-01-01 00:00:00
>>>
Официальная документация: datetime
Objects
ответ, основанный на очень щедрые взносы выше.
Проблема в том, что библиотека datetime включает класс datetime, который для непосвященных иногда сбивает с толку.
Чтобы завернуть, если вы:
import datetime
datetime.date(2011, 1, 1)
вы получите
>>> datetime.date(2011, 1, 1)
Поскольку вы используете класс дату библиотеки даты и времени. Тем не менее, если вы
from datetime import datetime
datetime.date(2011, 1, 1)
вы получите
>>>TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int'
, так как вы (неумышленно), используя класс DATETIME библиотеки даты и времени, который приравнивает к:
datetime.datetime.date(2011, 1, 1)
а Класс datetime библиотеки даты и времени не имеет метода даты
Подсказка: вы выполняете 'из datetime import datetime' или' i mport datetime'? (Я предполагаю, что бывший ...) –
'>>> import datetime >>> datetime.date (2011,1,1) datetime.дата (2011, 1, 1) 'не проблема, я не понимаю. Если вы выполняете 'from datetime import datetime', вы на самом деле вызываете' datetime.datetime.date (2011,1,1) ', что не удастся. –
привет Большое спасибо. Проблема в том, что я сделал из datetime import datetime. поэтому datetime.date в порядке, но datetime.datetime.date, очевидно, нет. больше –