Почему метод strptime из модуля datetime добавляет год, месяц и день, если в форматируемой строке их нет?

Всем привет. Есть такой код
from datetime import datetime

    print(datetime.strptime('23:14:44', '%H:%M:%S'))

вывод будет такой: datetime.datetime(1900, 1, 1, 23, 14, 44). Вопрос: откуда взялся год, месяц и день, если в указанном формате этого не было и как их убрать из вывода?
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
shurshur
@shurshur
У объекта datetime всегда есть год и всё остальное, by design. Если они не нужны - надо просто форматировать вывод без них явным образом.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Tomio
@Tomio
backend developer (python, php)
Вы используете объект "даты-время", что подразумевает, что у вас на выходе должна быть дата и должно быть время. А так как во входных данных у вас даты не обнаружено, то подставляется дата по умолчанию.
Чтобы вернуть объект времени вам нужно его извлечь из даты-времени:
print(datetime.strptime('23:14:44', '%H:%M:%S').time())
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Eltex Новосибирск
от 80 000 ₽
deeplay Новосибирск
от 130 000 ₽
от 130 000 ₽
25 окт. 2020, в 13:37
2000 руб./за проект
25 окт. 2020, в 12:01
5000 руб./за проект
25 окт. 2020, в 11:50
3000 руб./за проект