在Python中将当前日期添加到指定的小时和分钟

时间:2011-12-25 16:43:59

标签: python datetime

用户在我的界面中指定小时和分钟。我想将当前日期附加到Python中的datetime对象。

首先我尝试了这个:

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 个答案:

答案 0 :(得分: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)