我需要将timedelta
值保存到浮点类型字段中。
这是我的代码:
if self.end_time and self.start_time:
timediff =self.end_time - self.start_time // Here i get a time.delta value
self.duration = // here i get an error
TypeError: float() argument must be a string or a number, not
'datetime.timedelta'
我该如何解决?
答案 0 :(得分:0)
您问题中的代码不完整,但是假设您实际上正在执行以下操作:
self.duration = float(timediff)
…,而您想要的是timediff
表示为浮点数的总秒数,您可以使用timedelta.total_seconds()
方法获得该秒数:
self.duration = timediff.total_seconds()
这将返回浮点数,因此无需进行转换。