如何在Django中比较两个日期时间?

时间:2016-12-01 10:32:22

标签: python django

from django.utils import timezone


good = Goods.objects.get(id=num)
now = timezone.now()

print(good.create_time)
print(now)

如何比较它们是否有一天。

2016-12-01 10:21:32.746505+00:00
2016-12-01 10:24:08.906268+00:00

2 个答案:

答案 0 :(得分:2)

使用timedelta

d1 = datetime(year=2016, month=12, day=1)
d2 = datetime(year=2016, month=12, day=2)

abs(d2 - d1) < timedelta(days=1)

或者如果您只想比较当天,可以从.day属性访问它:

d1.day # 1
d2.day # 2

答案 1 :(得分:1)

您必须在指定的时间内create a new timedelta

d > timedelta(days=1)

或者这个略微更完整的脚本将有助于详细说明:

import datetime
from time import sleep

start = datetime.datetime.now()
sleep(3)
stop = datetime.datetime.now()

elapsed = stop - start

if elapsed > datetime.timedelta(days=1):
    print "Slept for > 1 days"

if elapsed > datetime.timedelta(seconds=1):
    print "Slept for > 1 second"

输出:

Slept for > 1 second