This article will discuss how we can convert the datetime module’s timedelta object to total minutes.
A little background of the problem in hand,
The datetime.timedelta in the datetime module represents the difference between two dates, time, or datetime objects. For example, we have two timestamps as datetime objects,
from datetime import datetime start_timestamp = datetime(2021, 10, 1, 7, 20, 17, 100000) end_timestamp = datetime(2021, 10, 1, 8, 25, 12, 200002)
If you want the difference between these two timestamps, you can subtract these datetime objects. It will give a timedelta i.e.
# Get different between two datetime as timedelta object. timedelta_obj = (end_timestamp - start_timestamp) print(timedelta_obj) print( type(timedelta_obj) )
Output:
1:04:55.100002 <class 'datetime.timedelta'>
This timedelta object contains the time difference between two datetimes. But when we printed it, the absolute difference gets printed in hh:mm::ss.ffffff format.
What if we want the absolute difference in total minutes only? For that we can convert this timedelta object to minutes only. Let’s see how to do that,
Convert timedelta to minutes in python
The timedelta object represents a duration. It has a function total_seconds(), which gives the total seconds in the complete duration of timedelta object. We can get the whole seconds from it and then divide it by 60 to get the entire duration in minutes only. For example,
Frequently Asked:
- Python: Get difference between two dates in years
- Convert timedelta to minutes in Python
- Check If Date Is Weekend In Python
- Get current UTC time in Python
# Convert timedelta object to minutes diff_in_minutes = timedelta_obj.total_seconds() / 60 print("Total Time Difference : {} Minutes".format(diff_in_minutes) )
Output:
Total Time Difference : 64.91833336666667 Minutes
We got the difference between two timestamps in minutes only by converting timedelta to minutes.
It contains the decimal part too. If you want approx absolute value, then you can round off the minutes value i.e.
# Convert timedelta object to minutes diff_in_minutes = timedelta_obj.total_seconds() / 60 # Round of the minutes value diff_in_minutes = round(diff_in_minutes) print("Total Time Difference : {} Minutes".format(diff_in_minutes) )
Output
Total Time Difference : 65 Minutes
The complete working example is as follows,
from datetime import datetime start_timestamp = datetime(2021, 10, 1, 7, 20, 17, 100000) end_timestamp = datetime(2021, 10, 1, 8, 25, 12, 200002) # Get different between two datetime as timedelta object. timedelta_obj = (end_timestamp - start_timestamp) print(timedelta_obj) print( type(timedelta_obj) ) # Convert timedelta object to minutes diff_in_minutes = timedelta_obj.total_seconds() / 60 print("Total Time Difference : {} Minutes".format(diff_in_minutes) ) # Round of the minutes value diff_in_minutes = round(diff_in_minutes) print("Total Time Difference : {} Minutes".format(diff_in_minutes) )
Output:
1:04:55.100002 <class 'datetime.timedelta'> Total Time Difference : 64.91833336666667 Minutes Total Time Difference : 65 Minutes
Summary:
Today we learned that how we can convert datetime.timedelta to minutes in python.