Python datetime difference in seconds

Python: Get difference between two datetimes in seconds

Now to get the difference between two timestamps in python, we will use the datetime module. First we will create start and end datetime objects from the string timestamps. Then we will subtract the datetime objects to get the duration in the datetime.timedelta object. Then using the properties of timedelta object, we will fetch the seconds in between the two timestamps. Let’s understand with some examples,

Python Example 1: Get difference between two timestamps in seconds

Convert the timestamps in string format to datetime objects. Then subtract them and get the timedelta object. Then use the total_seconds() function of timedelta object to get the complete duration between two timestamps in seconds. For example,

from datetime import datetime date_1 = '24/7/2021 11:13:08' date_2 = '24/7/2021 11:14:18' date_format_str = '%d/%m/%Y %H:%M:%S' start = datetime.strptime(date_1, date_format_str) end = datetime.strptime(date_2, date_format_str) # Get the interval between two datetimes as timedelta object diff = end - start print('Difference between two datetimes in seconds:') print(diff.total_seconds())
Difference between two datetimes in seconds: 70.0

How did it work ?

Frequently Asked:

We created the two datetime objects from the two timestamps in the string format, by passing the date and it’s format in the strptime() function. Then we subtracted these two datetime objects and got the datetime.timedelta object, which represents the duration between two dates. The timedelta class has a member function total_seconds(), which represents the complete duration in seconds (including the fractional part till milliseconds). We used that fetch the difference between two timestamp in seconds.

Читайте также:  Python find files with extensions

Python Example 2: Get difference between two dates in seconds

Let’s checkout an another example, where both the timestamps are more than 1 day apart,

from datetime import datetime date_1 = '24/7/2021 11:13:08' date_2 = '25/7/2021 11:14:18' date_format_str = '%d/%m/%Y %H:%M:%S' start = datetime.strptime(date_1, date_format_str) end = datetime.strptime(date_2, date_format_str) # Get the interval between two datetimes as timedelta object diff = end - start print('Difference between two datetimes in seconds:') print(diff.total_seconds())
Difference between two datetimes in seconds: 86470.0

The different between ’25/7/2021 11:14:18′ and ’24/7/2021 11:13:08′ is 86470.0 seconds.

If you are not interested in fractional part of seconds, then you can use this also,

print(diff.days * 24 * 60 * 60 + diff.seconds)

Here, timedelta.days represents the difference between two timestamp in days and timedelta.seconds represents the seconds that we need to add into the timedelta.days to get the complete difference. Whereas, timedelta.total_seconds() gives the complete interval between two timestamp in seconds.

Python Example 3: Get difference between two timestamps in seconds

Let’s checkout an another example, where both the timestamps are more than 2 years apart,

from datetime import datetime date_1 = '2/7/2021 21:55:12' date_2 = '24/9/2023 11:13:08' date_format_str = '%d/%m/%Y %H:%M:%S' start = datetime.strptime(date_1, date_format_str) end = datetime.strptime(date_2, date_format_str) # Get the interval between two datetimes as timedelta object diff = end - start print('Difference between two datetimes in seconds:') print(diff.total_seconds())
Difference between two datetimes in seconds: 70291076.0

The different between ’24/9/2023 11:13:08′ and ‘2/7/2021 21:55:12’ is 70291076.0 seconds.

Python Example 4: Get difference between two datetimes in seconds

If we have complete datetime objects instead of only timestamp strings, in that case lets see how to calculate the difference between two datetimes in seconds,

from datetime import datetime date_1 = datetime(2021, 7, 2, 21, 55, 12) date_2 = datetime(2021, 7, 24, 11, 13, 8) # Get the interval between two datetimes as timedelta object diff = date_2 - date_1 print('Difference between two datetimes in seconds:') print(diff.total_seconds())
Difference between two datetimes in seconds: 1862276.0

Python Example 5: Get difference between two datetimes in seconds using pandas

Suppose we have two timestamps in string format. We can convert them to datetime object using pandas.to_datetime() function. Then we will subtract the datetime objects to get the duration in the datetime.timedelta object. Then using the properties of timedelta object, we will fetch the total seconds in between the two timestamps. For example,

import pandas as pd from datetime import datetime date_1 = '2/7/2021 21:55:12' date_2 = '24/9/2023 11:13:08' date_format_str = '%d/%m/%Y %H:%M:%S' start = pd.to_datetime(date_1, format=date_format_str) end = pd.to_datetime(date_2, format=date_format_str) # Get the interval between two datetimes as timedelta object diff = end - start print('Difference between two datetimes in seconds:') print(diff.total_seconds())
Difference between two datetimes in seconds: 70291076.0

We learned that, in python how to get the difference between two datetimes in seconds.

Share your love

Leave a Comment Cancel Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Terms of Use

Disclaimer

Copyright © 2023 thisPointer

To provide the best experiences, we and our partners use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us and our partners to process personal data such as browsing behavior or unique IDs on this site and show (non-) personalized ads. Not consenting or withdrawing consent, may adversely affect certain features and functions.

Click below to consent to the above or make granular choices. Your choices will be applied to this site only. You can change your settings at any time, including withdrawing your consent, by using the toggles on the Cookie Policy, or by clicking on the manage consent button at the bottom of the screen.

The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.

The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.

The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.

The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.

Источник

Оцените статью