Skip to content

Instantly share code, notes, and snippets.

@amalgjose
Last active January 4, 2022 19:02
Show Gist options
  • Select an option

  • Save amalgjose/c767a4846d6ecaa3b6d7 to your computer and use it in GitHub Desktop.

Select an option

Save amalgjose/c767a4846d6ecaa3b6d7 to your computer and use it in GitHub Desktop.
This is a very simple python code snippet for calculating the difference between two dates or timestamps. This will calculate the difference in terms of number of years, months, days, hours, minutes etc. For more details, refer https://amalgjose.com/2015/02/19/python-code-for-calculating-the-difference-between-two-time-stamps/
__author__ = 'Amal G Jose'
from datetime import datetime
from dateutil import relativedelta
##Aug 7 1989 8:10 pm
date_1 = datetime(1989, 8, 7, 20, 10)
##Dec 5 1990 5:20 am
date_2 = datetime(1990, 12, 5, 5, 20)
#This will find the difference between the two dates
difference = relativedelta.relativedelta(date_2, date_1)
years = difference.years
months = difference.months
days = difference.days
hours = difference.hours
minutes = difference.minutes
print "Difference is %s year, %s months, %s days, %s hours, %s minutes " %(years, months, days, hours, minutes)
@marcaum54

Copy link
Copy Markdown

Vlew man, me salvou ;*

@moanesga

moanesga commented Jun 2, 2018

Copy link
Copy Markdown

Thanks, I applied only to calculate difference in years, months and days.

1

@andrecalais

Copy link
Copy Markdown

Hi!

How do I calculate the total difference in months?

@MaxMorais

MaxMorais commented Sep 14, 2018

Copy link
Copy Markdown

@andrecalais

a = datetime(1985,1,1)
b = datetime(2000,1,28)
delta = relativedelta.relativedelta(b,a)
full_months = delta.years * 12 + delta.months

@oinga

oinga commented Jan 29, 2020

Copy link
Copy Markdown

Well done amalgjose!

Is this snippet okay to use?

Thanks!

@amalgjose

Copy link
Copy Markdown
Author

@oinga Yes you can use it.

@MohJumper

MohJumper commented Apr 7, 2020

Copy link
Copy Markdown
# 
from datetime import datetime
from dateutil import relativedelta

# today date 

today = datetime.today()

# year in the past 

yr_p = today.replace(year = 2015)

difference = relativedelta.relativedelta(today, yr_p)

years = difference.years
months = difference.months
weeks = difference.weeks
days = difference.days

print(f"The differnce in year: {years}, in months: {months}, in weeks: {weeks}, in days: {days}")

Great code, but any ideas why it does not print the months, weeks, days in my altered code?

@sathwik-teja

Copy link
Copy Markdown

How to Write a Python script to display the examination schedule. Extract the exam date from user and calculate the days left for the examination from current date.
output should be like this
Exam date: (2016/12/30)
Current date: (2016/12/15)
Expected output: 15 days

@shivangrathore

Copy link
Copy Markdown

How to Write a Python script to display the examination schedule. Extract the exam date from user and calculate the days left for the examination from current date.
output should be like this
Exam date: (2016/12/30)
Current date: (2016/12/15)
Expected output: 15 days

from datetime import date
examdate =  date(Year, Month, Data)
currentdate = datetime.datetime.now().date()

difference = relativedelta.relativedelta(today, yr_p)

print(difference.days)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment