Python - How To Calculate the Time Difference Between Two Time Strings in Python

ID : 384

viewed : 69

Tags : PythonPython DateTime

vote vote

100

There are times when we have to deal with date and time-related problems in programming. In Python, data and time are not data types themselves. Still, Python provides a vast range of functions as well as libraries that help in dealing with such problems. One of the date and time-related problems is calculating the time interval between two-time strings.

This tutorial demonstrates different ways of calculating the time interval between two strings in Python.

Use datetime.strptime() to Calculate Time Difference Between Two Time Strings in Python

The datatime class provides a user with a number of functions to deal with dates and times in Python. The strptime() function is used to parse a string value to represent time based on a given format. The string value and time format are stored as the function argument.

Here’s an example program:

time_1 = datetime.strptime('05:00:00',"%H:%M:%S") time_2 = datetime.strptime('10:00:00',"%H:%M:%S")  time_interval = time_2 - time_1 print(time_difference) 

Output:

5:00:00 

Here, two time strings are stored in two variables using the datetime.strptime() function. Note that %H, %M and %S are the representatives of Hours, Minutes and, Seconds. After the two time strings are stored with their time format, the time interval between the two is calculated by simply subtracting the two variables.

Use time.sleep() to Calculate the Time Difference Between Two Time Strings in Python

There is a module known as the time module in Python, which helps in printing time in the form of objects, numbers, and strings. It also offers many functions to carry out tasks like measuring time and measuring code efficiency.

One of the functions in Python’s time module is the sleep() function. This function suspends the execution of the present code-block for a certain amount of time mentioned by the user only.

Look at this example code:

import time time_1 = time.time()  time.sleep(20)  time_2 = time.time() time_interval = time_2 - time_1 print(time_interval) 

Output:

20.005916118621826 

Note that in the above code, the time() function from the time module is also used. This function helps in returning the number of seconds passed since the epoch, January 1, 1970, 00:00:00 at UTC. The variable 20 in the argument of the sleep() function represents 20 seconds. In this code, the two time values are taken since the epoch, and in between them, the code stops executing for 20 seconds.

Use datetime.timedelta() to Calculate the Time Difference Between Two Time Strings in Python

There is one more Python module known as the datetime module. This module also provides many classes and functions to deal with dates, times, and time intervals.

The timedelta() class is one of the functions of the datetime module. It’s used to represent a specific time duration or the difference between two dates and times. The functions hold many arguments like days, milliseconds, microseconds, seconds, minutes, hours, and also weeks.

The user can mention these arguments according to the need of the program. Check out an example program here:

import datetime time_1 = datetime.timedelta(hours= 10 , minutes=20, seconds=30) time_2 = datetime.timedelta(hours= 20, minutes=30, seconds=45) print(time_2 - time_1) 

Note that in the above code, not all arguments are mentioned in the timedelta class.

  • Related HOW TO?