如何在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
提供一个timedeltadatetime-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