2011-12-25 2 views
1

Пользователь указывает час и минуту в моем интерфейсе. Я хотел бы привязать текущую дату к объекту datetime в Python.Добавить текущий день в указанный час и минуту в 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") 

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

ответ

4

Да, используйте 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) 
Смежные вопросы