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

时间:2014-12-29 18:45:19

标签: 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]))

这段代码是否正确?

1 个答案:

答案 0 :(得分:4)

如果waiting_time是日期时间,那么waiting_time - timedelta() 一个datetime。您可以在该对象上使用.time()从中获取datetime.time()对象:

new_dt = waiting_time - timedelta(microseconds=waiting_time.microseconds)
col_7 = new_dt.time()

但是,如果你要做的就是删除waiting_time.microseconds组件,那么请使用datetime.datetime.replace() method

col_7 = waiting_time.replace(microsecond=0).time()

或者,如果你需要为生成一个时间的字符串,那么使用datetime.strftime()生成一个简单地忽略微秒组件的字符串:

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