如何在Python中将timedelta转换为时间?

如何在Python中将timedelta转换为时间?,python,time,timedelta,Python,Time,Timedelta,我这样做了: str_7 = str(waiting_time - timedelta(microseconds=waiting_time.microseconds)).split(":") col_7 = time(int(str_7[0]), int(str_7[1]), int(str_7[2])) 此代码正确吗?如果等待时间是日期时间,那么等待时间-timedelta()也是日期时间。您只需在该对象上使用.time(),即可从该对象获取datetime.time()对象: new_dt

我这样做了:

str_7 = str(waiting_time - timedelta(microseconds=waiting_time.microseconds)).split(":")
col_7 = time(int(str_7[0]), int(str_7[1]), int(str_7[2]))

此代码正确吗?

如果
等待时间
是日期时间,那么
等待时间-timedelta()
也是日期时间。您只需在该对象上使用
.time()
,即可从该对象获取
datetime.time()
对象:

new_dt = waiting_time - timedelta(microseconds=waiting_time.microseconds)
col_7 = new_dt.time()
但是,如果您所做的只是删除
等待时间.microseconds
组件,则使用以下命令执行此操作:

或者,如果您需要在某个时间生成字符串,则使用生成一个忽略微秒组件的字符串:

col_7 = waiting_time.strftime('%H:%M:%S')  # hours:minutes:seconds

等待时间就是约会时间。不知道你想在这里做什么
timedelta
在逻辑上是两个时间点之间的差异,而时间通常是一个时间点。听起来你想把苹果变成橘子。我们可以了解更多关于您的问题的上下文吗?而且,您的变量名似乎表明您正在一个接一个地做多个类似的事情。最好使用循环。
waiting\u time-timedelta()
是一个timedelta,而不是datetime。如果是datetime-timedelta,则结果是timedelta。@CíceroAlves:no,
datetime-datetime
提供一个timedelta
datetime-timedelta()
提供了一个新的
datetime
。你是说等待时间是一个时间差吗
timedelta-timedelta
也会给你一个
timedelta
。new\u dt=waiting\u time-timedelta(微秒=waiting\u time.microseconds)是一个timedelta,你不能添加到它。time()@a.khou:这和我和西塞罗的对话是一样的。它取决于减去
timedelta
实例时返回的
waiting\u time
类型。
col_7 = waiting_time.strftime('%H:%M:%S')  # hours:minutes:seconds