Comparing dates in Python

Comparing dates is quite easy in Python. Dates can be easily compared using comparison operators (like <, >, <=, >=, != etc.). Let’s see how to compare dates with the help of datetime module using Python.

Code #1 : Basic

filter_none

edit
close

play_arrow

link
brightness_4
code

# Simple Python program to compare dates
  
# importing datetime module
import datetime
  
# date in yyyy/mm/dd format
d1 = datetime.datetime(2018, 5, 3)
d2 = datetime.datetime(2018, 6, 1)
  
# Comparing the dates will return
# either True or False
print("d1 is greater than d2 : ", d1 > d2)
print("d1 is less than d2 : ", d1 < d2)
print("d1 is not equal to d2 : ", d1 != d2)

chevron_right


Output :

d1 is greater than d2 :  False
d1 is less than d2 :  True
d1 is not equal to d2 :  True

 
Code #2 : Sorting dates

One of the best ways to sort a group of dates is to store them into a list and apply sort() method. This will sort all the dates which are available in the list. One can store the date class objects into the list using append() method.



filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to sort the dates
  
# importing datetime module
from datetime import *
  
# create empty list
group = []
  
# add today's date
group.append(date.today())
  
# create some more dates
d = date(2015, 6, 29)
group.append(d)
  
d = date(2011, 4, 7)
group.append(d)
  
# add 25 days to the date
# and add to the list
group.append(d + timedelta(days = 25))
  
# sort the list
group.sort()
  
# print the dates
for d in group:
    print(d)
     

chevron_right


Output :

2011-04-07
2011-05-02
2015-06-29
2018-05-24

 
Code #3 : Comparing Dates

Compare two date class objects, just like comparing two numbers.

filter_none

edit
close

play_arrow

link
brightness_4
code

# importing datetime module
from datetime import *
  
# Enter birth dates and store
# into date class objects
d1, m1, y1 = [int(x) for x in input("Enter first"
        " person's date(DD/MM/YYYY) : ").split('/')]
  
b1 = date(y1, m1, d1)
  
# Input for second date
d2, m2, y2 = [int(x) for x in input("Enter second"
        " person's date(DD/MM/YYYY) : ").split('/')]
  
b2 = date(y2, m2, d2)
  
# Check the dates
if b1 == b2:
    print("Both persons are of equal age")
      
elif b1 > b2:
    print("The second person is older")
      
else:
    print("The first person is older")

chevron_right


Output :

Enter first person's date(DD/MM/YYYY) : 12/05/2017
Enter second person's date(DD/MM/YYYY) : 10/11/2015
The second person is older


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.