Удалите микросекунды из объектов datetime метода моделирования

У меня есть этот метод, он возвращает время_слева, отсюда и название.

Моя проблема заключается в дополнительных микросекундах, добавленных в конце.

from django.utils.timezone import now

class ModelClass(models.Model):
    ....
    due_date = models.DateTimeField()    

@property
    def time_left(self):
        data = {"in_negative": False}
        remaining = self.due_date - now()
        data["remaining"] = remaining
        if remaining.days < 0:
            data["in_negative"] = True
        return data

Вот что я получаю на своем шаблоне

3 days, 10:38:53.070894

Что я хочу

3 days, 10:38:53

Если вас интересует только получение строк, вы можете отделить секунды от периода . и игнорировать правую часть строки. Пример:

@property
def time_left(self):
    data = { 'in_negative':False }
    remaining = self.due_date - now()
    if remaining.days < 0:
        data['in_negative'] = True
    date_str = str(remaining).split(".")[0]
    data["remaining"] = date_str
    return data
Вернуться на верх