Использовать текущий месяц / день в разборе datetime - PullRequest
1 голос
/ 18 апреля 2019

Я пытаюсь разобрать строку, которая просто '07:43 вечера'.Я выяснил функцию strptime(), но когда я печатаю результат, день, месяц и год все неверны.Он не использует текущее время, он использует 1, 1 и 1900 соответственно.Я обнаружил, что наивным решением этой проблемы было бы просто использовать .replace() и заменить день, месяц и год текущими значениями.Есть ли что-то еще, что я могу сделать?

y = '07:43 PM'
print(datetime.strptime(y, '%I:%M %p'))  #1900-01-01 19:43:00

1 Ответ

2 голосов
/ 18 апреля 2019

Как сказано в комментарии, вы можете получить now время, а затем обновить эти поля так, как вам нужно, например:

from datetime import datetime
y = '07:43 PM'
now, stripped = datetime.now(), datetime.strptime(y, '%I:%M %p')
now = now.replace(hour=stripped.hour, minute=stripped.minute)
print(now)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...