Difference between two dates in Python
Difference between two dates in Python
Use -
to get the difference between two datetime
objects and take the days
member.
from datetime import datetime
def days_between(d1, d2):
d1 = datetime.strptime(d1, %Y-%m-%d)
d2 = datetime.strptime(d2, %Y-%m-%d)
return abs((d2 - d1).days)
Another short solution:
from datetime import date
def diff_dates(date1, date2):
return abs(date2-date1).days
def main():
d1 = date(2013,1,1)
d2 = date(2013,9,13)
result1 = diff_dates(d2, d1)
print {} days between {} and {}.format(result1, d1, d2)
print (Happy programmers day!)
main()
Difference between two dates in Python
I tried the code posted by larsmans above but, there are a couple of problems:
1) The code as is will throw the error as mentioned by mauguerra
2) If you change the code to the following:
...
d1 = d1.strftime(%Y-%m-%d)
d2 = d2.strftime(%Y-%m-%d)
return abs((d2 - d1).days)
This will convert your datetime objects to strings but, two things
1) Trying to do d2 – d1 will fail as you cannot use the minus operator on strings and
2) If you read the first line of the above answer it stated, you want to use the – operator on two datetime objects but, you just converted them to strings
What I found is that you literally only need the following:
import datetime
end_date = datetime.datetime.utcnow()
start_date = end_date - datetime.timedelta(days=8)
difference_in_days = abs((end_date - start_date).days)
print difference_in_days