如何合并日期和时间?

我想在日期时间添加一个时间。我的初始日期时间是:initial_datetime='2015-11-03 08:05:22'并且是字符串,this_hour并且this_min也是字符串。我用:

time='-7:00'
time = time.split(':')
this_hour = time[0]
this_min = time[1]
initial_datetime='2015-11-03 08:05:22'
new_date = datetime.combine(initial_datetime, time(this_hour, this_min))  
           + timedelta(hours=4)

但是出现错误:

'str'对象不可调用。

我想要的输出是initial_datetime我的时间加上(在这种情况下为-7 hours),然后加上4小时。因此,在我的示例中,新日期应为“ 2015-11-03 05:05:22”。

Benvc

datetime.combine通常用于将一个date对象与一个time对象组合在一起而不是增加或减少一个datetime对象。在您的情况下,您需要将datetime字符串转换为一个datetime对象,并将时间字符串的各个部分转换为整数,以便可以使用将它们添加到datetime中timedelta顺便说一句,请谨慎使用time与导入冲突的变量名,例如

from datetime import datetime, timedelta

dtstr = '2015-11-03 08:05:22'
tstr = '-7:00'
hours, minutes = [int(t) for t in tstr.split(':')]

dt = datetime.strptime(dtstr, '%Y-%m-%d %H:%M:%S') + timedelta(hours=hours+4, minutes=minutes)
print(dt)
# 2015-11-03 05:05:22

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章