python/Django两个日期之间的差异
我需要知道如何获取编辑日期(我的一个模型中的一列)和datetime.now()之间经过的时间。我的edit_date列采用DateTimeField格式(我正在使用Python 2.7和Django 1.10) 这就是我正在尝试的功能:python/Django两个日期之间的差异,django,python-2.7,datetime,time,Django,Python 2.7,Datetime,Time,我需要知道如何获取编辑日期(我的一个模型中的一列)和datetime.now()之间经过的时间。我的edit_date列采用DateTimeField格式(我正在使用Python 2.7和Django 1.10) 这就是我正在尝试的功能: def time_in_status(request): for item in Reporteots.objects.exclude(edit_date__exact=None): date_format = "%Y-%m-%d %H
def time_in_status(request):
for item in Reporteots.objects.exclude(edit_date__exact=None):
date_format = "%Y-%m-%d %H:%M:%S"
a = datetime.now()
b = item.edit_date
c = a - b
dif = divmod(c.days * 86400 + c.minute, 60)
days = str(dif)
print days
我从这项功能中得到的唯一东西就是几分钟和几秒钟。我需要的是以以下格式获取此日期:
经过的时间=3d 47m 23s
有什么想法吗?如果我不清楚你是否需要更多信息,请告诉我
感谢您的关注,尝试以下内容
c = a - b
minutes = (c.seconds % 3600) // 60
seconds = c.seconds % 60
print "%sd %sm %ss" % (c.days, minutes, seconds)
查看
dateutil.relativedelta
:
我是从内存中编写代码的,所以您可能需要根据自己的需要对其进行调整。怎么样?这一个有效,我必须修改一些内容:),谢谢!小时呢?哦,我没有包括小时,因为你没有把它们包括在你的时间流逝的例子中。您将获得类似于
hours=c.seconds//3600
的小时数。
from dateutil.relativedelta import relativedelta
from datetime import datetime
now = datetime.now()
ago = datetime(2017, 2, 11, 13, 5, 22)
diff = relativedelta(ago, now)
print "%dd %dm %ds" % (diff.days, diff.minutes, diff.seconds)