Преобразовать значение timedelta в значение с плавающей точкой - PullRequest
0 голосов
/ 26 февраля 2019

Мне нужно сохранить значение 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'

Как я могурешить это?

1 Ответ

0 голосов
/ 26 февраля 2019

Код в вашем вопросе неполный, но предполагается, что вы на самом деле делаете что-то вроде этого:

self.duration = float(timediff)

… и вам нужно общее количество секунд, представленное timediff в виде числа с плавающей запятойВы можете получить это, используя метод timedelta.total_seconds():

self.duration = timediff.total_seconds()

Возвращает число с плавающей запятой, поэтому преобразование не требуется.

...