PYnative

Python Programming

  • Learn Python
  • Exercises
  • Quizzes
  • Code Editor
  • Tricks
Home » Python » Python DateTime » Calculate Time Difference in Python

Calculate Time Difference in Python

Updated on: May 16, 2022 | 3 Comments

In this article, you’ll learn how to find the time difference between two-time in Python. For example, we want to measure the execution time of a program. Here, we need to calculate the time difference between the program’s start and end times.

Another example is we may need to capture the time change between the two events. We need to subtract one time/timestamp from another to calculate the time difference between two-time.

After reading this Python article, you’ll learn:

  • How to calculate the time interval between the two-time strings.
  • get time difference in seconds, minutes, and hours
  • Get the time difference between two timestamps in Python

Also, see how to get the difference between two dates in days in Python.

Table of contents

  • How to get the time difference between two-time in Python
    • Example: Calculate Time Difference in Python
  • Get time difference in hours and minutes
  • Time Difference between two timestamps in Python

How to get the time difference between two-time in Python

For example, you have a start time and stop time in the format of “10:33:26” (HH:MM:SS). The below steps show how to calculate the time difference in hours, minutes, and seconds between two-time in Python.

  1. Import datetime module

    Python datetime module provides various functions to create and manipulate the date and time. Use the from datetime import datetime statement to import a datetime class from a datetime module.

  2. Convert time strings to a datetime object

    We have time data in a string format. Before calculating the difference, we need to convert both time strings to a datetime object.
    Use the strptime(time_str, format) function to convert a time string into a datetime object as per the corresponding format. The format codes are standard directives for mentioning the string format for parsing. For example, the %H:%M:%S format codes are for hours, minutes, and seconds.

  3. Subtract the end time from the start time

    To get the difference between two-time, subtract time1 from time2. A result is a timedelta object. The timedelta represents a duration which is the difference between two-time to the microsecond resolution.

  4. Get time difference in seconds

    To get a time difference in seconds, use the timedelta.total_seconds() methods.

  5. Get time difference in milliseconds

    Multiply the total seconds by 1000 to get the time difference in milliseconds.

  6. Get time difference in minutes

    Divide the seconds by 60 to get the difference in minutes.

  7. Get time difference in hours

    Divide the seconds by 3600 to get the final result in hours.

Example: Calculate Time Difference in Python

In this example, we will see how to calculate the seconds and milliseconds between two-time.

from datetime import datetime

# start time
start_time = "2:13:57"
end_time = "11:46:38"

# convert time string to datetime
t1 = datetime.strptime(start_time, "%H:%M:%S")
print('Start time:', t1.time())

t2 = datetime.strptime(end_time, "%H:%M:%S")
print('End time:', t2.time())

# get difference
delta = t2 - t1

# time difference in seconds
print(f"Time difference is {delta.total_seconds()} seconds")

# time difference in milliseconds
ms = delta.total_seconds() * 1000
print(f"Time difference is {ms} milliseconds")

Output:

Start time: 02:13:57
End time: 11:46:38
Time difference is 34361.0 seconds
Time difference is 34361000.0 milliseconds

Get time difference in hours and minutes

Note: To calculate the time difference in minutes and hours use the below formulas.

  • First, use the above example to get the time difference in seconds between two-time.
  • Next, divide the seconds by 60 to get the get time difference in minutes.
  • In the end, divide the seconds by 3600 (60*60) to get the time difference in hours.

Example: To get the time difference in hours and minutes between two-time.

from datetime import datetime

# start time and end time
start_time = datetime.strptime("2:13:57", "%H:%M:%S")
end_time = datetime.strptime("11:46:38", "%H:%M:%S")

# get difference
delta = end_time - start_time

sec = delta.total_seconds()
print('difference in seconds:', sec)

min = sec / 60
print('difference in minutes:', min)

# get difference in hours
hours = sec / (60 * 60)
print('difference in hours:', hours)

Output:

difference in seconds: 34361.0
difference in minutes: 572.6833333333333
difference in hours: 9.544722222222223

Time Difference between two timestamps in Python

A timestamp is encoded information generally used in UNIX, which indicates the date and time at which a particular event has occurred.

Now, let’s see how to find the difference between the two timestamps in hours, minutes, and seconds.

  • First, store the start timestamp in the ‘start’ variable and the end timestamp in the ‘end’ variable.
  • Next, use the fromtimestamp() method to convert both start and end timestamps to datetime objects. We convert these timestamps to datetime because we want to subtract one timestamp from another.
  • Next, subtract datetime2 from datetime1 to get the difference between two timestamps in the form of timedelta
  • Next, use the total_seconds() method to get the difference in seconds.

Example 1: Difference between two timestamps in HH:MM:SS format.

from datetime import datetime

# start and end timestamps
start_ts = 1652426243.907874
end_ts = 1652436243.907874

# convert timestamps to datetime object
dt1 = datetime.fromtimestamp(start_ts)
print('Datetime Start:', dt1)
dt2 = datetime.fromtimestamp(end_ts)
print('Datetime End:', dt2)

# Difference between two timestamps
# in hours:minutes:seconds format
delta = dt2 - dt1
print('Difference is:', delta)

Output:

Datetime Start: 2022-05-13 12:47:23.907874
Datetime End: 2022-05-13 15:34:03.907874
Difference is: 2:46:40

The output shows the difference between the two timestamps is 2 hours, 46 minutes, and 40 seconds.

Difference between two timestamps in seconds

Use the below example to get the total seconds between two timestamps.

Example:

from datetime import datetime

# convert timestamps to datetime object
start_ts_ = datetime.fromtimestamp(1652426243.907874)
print('Datetime Start:', start_ts_)
end_ts = datetime.fromtimestamp(1652436243.907874)
print('Datetime End:', end_ts)

# Difference between two timestamps in seconds
delta = end_ts - start_ts_
print('Difference is seconds:', delta.total_seconds())

Output:

Datetime Start: 2022-05-13 12:47:23.907874
Datetime End: 2022-05-13 15:34:03.907874
Difference is seconds: 10000.0

Filed Under: Python, Python DateTime

Did you find this page helpful? Let others know about it. Sharing helps me continue to create free Python resources.

TweetF  sharein  shareP  Pin

About Vishal

Founder of PYnative.com I am a Python developer and I love to write articles to help developers. Follow me on Twitter. All the best for your future Python endeavors!

Related Tutorial Topics:

Python Python DateTime

Python Exercises and Quizzes

Free coding exercises and quizzes cover Python basics, data structure, data analytics, and more.

  • 15+ Topic-specific Exercises and Quizzes
  • Each Exercise contains 10 questions
  • Each Quiz contains 12-15 MCQ
Exercises
Quizzes

Posted In

Python Python DateTime
TweetF  sharein  shareP  Pin

  Python DateTime

  • Python DateTime Guide
  • Python Get Current DateTime
  • Python DateTime Formatting
  • Python String to DateTime
  • Python Timestamp
  • Python Timedelta
  • Python TimeZones
  • List All TimeZones in Python

All Python Topics

Python Basics Python Exercises Python Quizzes Python File Handling Python OOP Python Date and Time Python Random Python Regex Python Pandas Python Databases Python MySQL Python PostgreSQL Python SQLite Python JSON

About PYnative

PYnative.com is for Python lovers. Here, You can get Tutorials, Exercises, and Quizzes to practice and improve your Python skills.

Explore Python

  • Learn Python
  • Python Basics
  • Python Databases
  • Python Exercises
  • Python Quizzes
  • Online Python Code Editor
  • Python Tricks

Follow Us

To get New Python Tutorials, Exercises, and Quizzes

  • Twitter
  • Facebook
  • Sitemap

Legal Stuff

  • About Us
  • Contact Us

We use cookies to improve your experience. While using PYnative, you agree to have read and accepted our Terms Of Use, Cookie Policy, and Privacy Policy.

Copyright © 2018–2023 pynative.com