python django在几个月或几天内转换日期值

时间:2015-02-02 18:33:22

标签: python django date

假设我有两个日期.. date1和date2 我想从date1中减去date2,无论结果是什么,我想在日期中转换它。 像:

if (date_1 - date2) > 4 months

在这里,我如何将结果日期转换为月份,或者您可以在几天内说出来。

提前致谢..

2 个答案:

答案 0 :(得分:3)

减去两个日期会返回timedelta个对象:

>>> print (data1 - date2).days
  

timedelta对象表示持续时间,两个日期或时间之间的差异

答案 1 :(得分:2)

要检查相对日期,您可以使用以下两种方法之一:

import datetime

if d2 - datetime.timedelta(days= 4*365./12) > d1:
    # the difference is greater than 4 months.

如果您需要更准确的日转换,可以使用relativedelta模块中的dateutil

实施例

from dateutil.relativedelta import relativedelta

if d2 - relativedelta(months=4) > d1:
    #The diff is greater than 4 months.

演示:

>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2015, 2, 2, 13, 35, 39, 975914)
>>> d1 = datetime.datetime.now()
>>> d2 = datetime.datetime(2014, 2, 2, 13, 0, 0, 0)
>>> d1 - datetime.timedelta(days=4*365./12) > d2
True

>>> from dateutil.relativedelta import relativedelta
>>> d1 - relativedelta(month=4)
datetime.datetime(2015, 4, 2, 13, 35, 44, 735993)
>>> d1 - relativedelta(month=4) > d2
True