我想在日期时间中添加时间。我的初始日期时间是:initial_datetime='2015-11-03 08:05:22'and 是一个字符串,this_hourandthis_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 小时),然后加上 4 小时。因此,在我的示例中,新日期应为“2015-11-03 05:05:22”。
1 回答
狐的传说
TA贡献1804条经验 获得超3个赞
datetime.combine通常用于将date对象与time对象组合,而不是递增或递减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
添加回答
举报
0/150
提交
取消