Get time difference in seconds and minutes with Python

In today’s tutorial we will learn how to use how to calculate time differences in Python and Pandas.

Find the difference between timestamps in seconds

We will start by defining our datetime time stamps. We then define a timedelta. The timedelta is by default expressed in days and hours. Therefore, we then use the total_seconds() method to calculate the difference in seconds.

import datetime

#define the timestamps
start_time = datetime.datetime(2022,8,19,15,30,0)
end_time = datetime.datetime(2022,8,25,20,30,0)

#define a timedelta object
elapsed_time = end_time - start_time

#calculate the difference in seconds
time_seconds = (elapsed_time).total_seconds()

print('The elapsed time is: ' + str(time_seconds) +' seconds')

The result will be:

The elapsed time is: 536400.0 seconds

Important: Before working with the datetime module, make sure that you have imported it into your Python program. Otherwise you will receive the following name error:

NameError: name 'datetime' is not defined

Calculate the time difference in minutes and hours

In a similar fashion we can perform additional tweaks to find the time in minutes.

time_minutes = (end_time - start_time).total_seconds()/60

print('The elapsed time is: ' + str(time_minutes) +' minutes')

This will return:

The elapsed time is: 8940.0 minutes

And for hours:

time_hours = (end_time - start_time).total_seconds()/3600

print('The elapsed time is: ' + str(time_hours) +' hours')

Will return:

The elapsed time is: 149.0 hours

Calculate time differences with Pandas

In Pandas the time calculation work quite similarly. Below is a trivial example, typically your data will be organized in columns containing timestamps. Still, the mechanics are similar.

import pandas

# creating timestamps
start_time_pd = pd.to_datetime(start_time)
end_time_pd = pd.to_datetime(end_time)

#calculating the timedelta and returning the delta in seconds

delta_pd = (end_time_pd-start_time_pd)
time_seconds = delta_pd.total_seconds()

print('The elapsed time is: ' + str(time_seconds) +' seconds')

Suggested additional learning