Добавить текущий день к указанному часу и минуте в Python - PullRequest
1 голос
/ 25 декабря 2011

Пользователь указывает час и минуту в моем интерфейсе. Я хотел бы прикрепить текущую дату к объекту datetime в Python.

Сначала я попробовал это:

a = datetime.strptime("8:30pm", "%I:%M%p")
print a

Но это дает:

1900-01-01 20:30:00

Тогда я попробовал:

b = date.today()
a = datetime.strptime(str(b.year) + "-" + str(b.month) + "-"
                      + str(b.day) + " 8:30pm", "%Y-%m-%d %I:%M%p")

Это работает, но уродливо; неужели есть лучший способ?

1 Ответ

4 голосов
/ 25 декабря 2011

Да, используйте datetime.datetime.combine :

import datetime
a = datetime.datetime.strptime("8:30pm", "%I:%M%p")
today = datetime.datetime.today()

result = datetime.datetime.combine(today.date(), a.time())

# result == datetime.datetime(2011, 12, 25, 20, 30)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...