Как получить потолок секунд в объекте timedelta

Я работаю с Django и столкнулся с проблемой, которая заблокировала меня. Я пишу этот метод для выполнения длительности как разницы между "end_time" и "start_time", результатом является объект timedelta.

@property
def start_dt(self):
    if self.track and self.track.dt > 0 and not self.sample_intervals.is_empty():
        try:
            return self.track.timestamp + datetime.timedelta(seconds=self.track.dt * self.sample_intervals.min())
        except BaseException:
            return None
    else:
        intervals = self.get_datetime_intervals()
        return intervals.min()

@property
def end_dt(self):
    if self.track and self.track.dt > 0 and not self.sample_intervals.is_empty():
        try:
            return self.track.timestamp + datetime.timedelta(seconds=self.track.dt * self.sample_intervals.max())
        except BaseException:
            return None
    else:
        intervals = self.get_datetime_intervals()
        return intervals.max()

@property
def duration(self):
    return self.end_dt - self.start_dt

Работает хорошо, но если у меня, например, 00:32:55.765000, результат аппроксимируется вниз, и я получаю 00:32:55 вместо 00:32:56.

Как я могу приблизительно определить вверх или вниз в зависимости от микросекунд длительности?

Вернуться на верх