减去或添加从djangomodel返回的datetime字段

时间:2017-03-20 18:42:09

标签: django datetime django-models django-views

搜索后,我找不到问题的答案。我有这个模型:

  class Subtask(models.Model):
    Created_subtask_date = models.DateTimeField(default=timezone.now, null=True)
    subflag = models.BigIntegerField(default=0, null=True)

    def __str__(self):
        return str(self.Created_subtask_date)

如您所见,此对象返回一个字符串,该字符串是子任务的创建日期。

我的问题是如何减去或添加此模型的两个对象(两个日期时间)。例如,如果我有subask1,它与此任务的日期相同。然后我有另一个对象(例如子任务2),它有另一个日期。我试图将它们转换为整数但没有成功。

非常感谢任何帮助

2 个答案:

答案 0 :(得分:1)

您无需将它们转换为整数..您可以轻松获得两个日期的差异。例如

from datetime import datetime
d = datetime(2017,3,17,12,50,59)
d2 = datetime.now()

e = d2 - d
print(e.days,e.seconds) # output 3 (days) 41569 (seconds)

希望它有所帮助。

答案 1 :(得分:0)

如果你想获得时差,那么你应该这样做:

from datetime import timedelta    

date1 = subtask1.Created_subtask_date
date2 = subtask2.Created_subtask_date

diff = date1 - date2

print(type(diff))  # <class 'datetime.timedelta'>

print(diff.seconds)
print(diff.days)

更多关于timedelta