Reputation: 8029
Suppose I have two dates.. date1 and date2 I want to subtract date2 from date1 and whatever comes the result I want to convert it in date.. Like:
if (date_1 - date2) > 4 months
Here how can I convert the resultant date into months or you can say in days..
Thanks in advance..
Upvotes: 0
Views: 1273
Reputation: 99660
To check for relative dates, you can use one of two approaches:
import datetime
if d2 - datetime.timedelta(days= 4*365./12) > d1:
# the difference is greater than 4 months.
If you need more accurate day conversions, you can use the relativedelta
in dateutil
module.
Example
from dateutil.relativedelta import relativedelta
if d2 - relativedelta(months=4) > d1:
#The diff is greater than 4 months.
Demo:
>>> 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
Upvotes: 2
Reputation: 3208
Subtraction of two dates returns a timedelta object:
>>> print (data1 - date2).days
A
timedelta
object represents a duration, the difference between two dates or times
Upvotes: 3