仅向时间添加 n 秒(无日期)

Add n seconds to time only (no date)

我正在尝试将 n 秒添加到当前时间。

import datetime
seconds = 3
currenttime = datetime.datetime.now().time()
finaltime = currenttime + datetime.timedelta(0, seconds)

import datetime
import time
currenttime = time.time()
finaltime = currenttime + datetime.timedelta(0, seconds)

都产生 TypeError: unsupported operand type(s).

currenttime = datetime.datetime.now()
finaltime = str(currenttime + datetime.timedelta(0, seconds))

工作正常,但它包含我不需要的日期。

我的语法不正确吗?有没有更简单的方法来实现这一目标?

您不能将 time() 对象和 timedelta() 相加,因为没有定义的方法来处理溢出。午夜 + 1 秒是多少?

将日期附加到时间,并将 timedelta() 添加到该对象。您以后总是可以提取 time() 对象,或者只格式化时间组件:

import datetime
seconds = 3
currenttime = datetime.datetime.now()
finaltime = currenttime + timedelta(seconds=seconds)
print finaltime.strftime('%H:%M:%S')