使用Python将日期和时间字符串组合到单个日期时间对象的最简单方法

时间:2012-03-06 06:23:43

标签: python datetime

我有一个Web表单,其中包含2个输入字段,“StartDate”和“StartTime”。我将StartDate字段的字符串转换为Python datetime对象,没问题。 {1}}字段作为字符串以“0130”形式传递给凌晨1:30。转换StartTime字符串并将其与StartTime StartDate对象合并以便将它们存储为单个datetime的最佳方式是什么?任何线索都会很棒!

4 个答案:

答案 0 :(得分:27)

使用datetime.combine

import datetime as dt
mytime = dt.datetime.strptime('0130','%H%M').time()
mydatetime = dt.datetime.combine(dt.date.today(), mytime)

答案 1 :(得分:0)

如果您可以将时间加载到datetime.time,则可以使用以下代码

import datetime

dt = datetime.datetime(2012, 2, 12)
tm = datetime.time(1, 30)

combined = dt.combine(dt, tm)

print(combined)

输出

2012-02-12 01:30:00

答案 2 :(得分:0)

只是一个简短的版本:

from datetime import datetime
print datetime.combine(datetime.strptime("5 Mar 12", "%d %b %y") ,datetime.strptime("0130","%H%M").time())

<强>输出

2012-03-05 01:30:00

答案 3 :(得分:0)

import datetime
def time_tango(date, time):
    return datetime.datetime.combine(date, time)