Python: TypeError требуется целое число (получен тип str) - PullRequest
0 голосов
/ 09 июля 2020
print(Datedetail) -> 2020-10-31 00:00:00
print(type(Datedetail) -> <class 'datetime.datetime'>
print (DateDetail.replace('-',''))[:6]) -> TypeError: an integer is required (got type str)

Datedetail имеет значение даты и времени, но при замене специального символа и только данных даты он выдает ошибку, поскольку требуется целое число.

Ответы [ 3 ]

1 голос
/ 09 июля 2020

Используйте .strftime (), чтобы получить даты в желаемом формате.

Datedetail.strftime('%Y%m')

введите описание изображения здесь

1 голос
/ 09 июля 2020

Вы не можете использовать метод str.replace() в классе datetime.datetime.

Используйте str для преобразования его в строку:

print(str(Datedetail).replace('-','')[:6])

Вывод:

202010

Рекомендация: используйте strftime вместо datetime.

0 голосов
/ 09 июля 2020

Функция замены отличается от той, которую вы используете для строк. https://docs.python.org/2/library/datetime.html#datetime .date.replace

Сначала вы должны преобразовать его в строку, так что она имеет обычное поведение: print(str(Datedetail).replace('-','')[:6])

Но обычно вы должны использовать форматирование строк, как вы также можете найти в документации выше: date.strftime(format)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...