Расчетное время между 2 часами в Джанго - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь рассчитать время, прошедшее между 2 часами, но также и вычислить сумму для дня и недели.

Я пробовал несколько методов, но ни один не был конгруэнтным, и я полностью высыхал, идей больше нет.

class Timesheet(models.Model):
owner = models.ForeignKey(User, on_delete = models.CASCADE)
title = models.CharField(max_length = 64, verbose_name = _("Title"))
start = models.DateTimeField(verbose_name = _("Start time"))
end = models.DateTimeField(verbose_name = _("End time"))
allDay = models.BooleanField(blank = True, default = False, verbose_name = _("All day"), help_text = _("If it's a full day work, just click 'Now' for start/end"))
week = models.IntegerField(verbose_name = "working week")

def __str__(self):
    return "{}".format(self.title)

def save(self, *args, **kwargs):
    if not self.pk:
        self.week = datetime.datetime.now().isocalendar()[1]
    if self.allDay:
        self.start = datetime.datetime(year = datetime.datetime.today().year, month = datetime.datetime.today().month, day = datetime.datetime.today().day, hour=8, minute=00)
        self.end = datetime.datetime(year = datetime.datetime.today().year, month = datetime.datetime.today().month, day = datetime.datetime.today().day, hour=17, minute=30)
    super(Timesheet, self).save(*args, **kwargs)

В надежде, что вы мне поможете.

С уважением,

1 Ответ

0 голосов
/ 23 ноября 2018

Если вы имели в виду разницу между двумя переменными, имеющими только часть времени, вы можете использовать datetime для достижения этого.

from datetime import datetime
time1 = '09:00'
time2 = '13:15' 
fmt = '%H:%M'
difference1 = datetime.strptime(time2, fmt) - datetime.strptime(time1, fmt)
difference2 = datetime.strptime(time1, fmt) - datetime.strptime(time2, fmt)

print("difference 1 = {} \ndifference2 = {}".format(difference1, difference2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...