Datetime все еще показывает компонент времени - PullRequest
0 голосов
/ 17 июня 2020

У меня есть эта строка кода -

future_end_date = datetime.strptime('2020/02/29','%Y/%m/%d')

, и когда я печатаю это-

2020-02-29 00:00:00

, он все равно показывает компонент времени, хотя я сделал strptime

Ответы [ 2 ]

0 голосов
/ 18 июня 2020

datetime.strptime(date_string, format) функция возвращает объект datetime, соответствующий date_string, проанализированный в соответствии с форматом. Когда вы печатаете объект datetime, он форматируется как строка в формате ISO 8601, YYYY-MM-DDTHH:MM:SS

Таким образом, вам нужно преобразовать datetime в дату, если вам нужен только год, месяц и день -

datetime.strptime('2020/02/29','%Y/%m/%d').date()

Другой возможный способ - использовать метод strftime(), который возвращает строку, представляющую дату и время с использованием объекта date, time или datetime.

datetime.strptime('2020/02/29','%Y/%m/%d').strftime('%Y/%m/%d')

Вывод обоих фрагментов кода -

2020/02/29
0 голосов
/ 17 июня 2020

Это потому, что strptime возвращает datetime, а не date. Попробуйте преобразовать его на сегодняшний день:

datetime.strptime('2020/02/29','%Y/%m/%d').date()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...