Как получить потолок секунд в объекте 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
.
Как я могу приблизительно определить вверх или вниз в зависимости от микросекунд длительности?