Problem: Write a python program to calculate the number of days between two days.
Input: 8/18/2008 9/26/2008 Output: 39 days
Python comes with
datetime module which can be used to find the number of days between two days. All we need to do is to import them into our program.
Method 1: Subtracting date objects
Form the two different date objects using
date(YYYY,MM,DD) and subtract them. The subtraction result in a timedelta object which can be used to retrieve the number of days as shown below.
from datetime import date d0 = date(2008, 8, 18) d1 = date(2008, 9, 26) delta = d1 - d0 print(delta.days, "days")
Always remember to import “date” from “datetime” module first in the program.
Method 2: Using datetime.strptime()
datetime.strptime() function in Python has the following syntax:
datetime.strptime() function strips the “date” based on the specified
date_format and returns a date object.
We can use this object to subtract from another date object, similar to the above program to get
from datetime import datetime #specify date format date_format = "%m/%d/%Y" a = datetime.strptime('8/18/2008', date_format) b = datetime.strptime('9/26/2008', date_format) delta = b - a print(delta.days, "days")
Output: 39 days
Now let’s try to find out how many days have been left in this year.
To do this, we have to subtract the
date.today() from the last date of this year.
from datetime import date a = date.today() b = date(2020, 12, 31) delta = b - a print(delta.days, "days left in this year")
Run the above program by yourself and see what output you get.
That’s all for the date difference in python. If you have any doubts or suggestions and please comment below.