time

The Python time module provides various time-related functions. It allows you to work with time in a variety of ways, including getting the current time, measuring execution durations, and working with time in seconds since the epoch (January 1, 1970, 00:00:00 UTC).

Here’s a quick example:

Python
>>> import time

>>> time.time()
1753361956.4005592

Key Features

  • Retrieves the current time
  • Formats and parses time strings
  • Measures elapsed time with high precision
  • Pauses execution for a given number of seconds
  • Converts between time representations (seconds, tuples, strings)
  • Obtains system time in UTC or local time
  • Works with monotonic clocks for reliable timing
  • Supports sleep with subsecond precision

Frequently Used Classes and Functions

Object Type Description
time.time() Function Gets the current time in seconds since the epoch
time.sleep() Function Pauses execution for a specified number of seconds
time.strftime() Function Formats a time tuple as a string
time.strptime() Function Parses a time string into a time tuple
time.perf_counter() Function Measures elapsed time with high precision
time.localtime() Function Converts seconds since epoch to a local time tuple
time.gmtime() Function Converts seconds since epoch to a UTC time tuple
time.ctime() Function Converts seconds since epoch to a readable string
time.monotonic() Function Returns the value of a monotonic clock (can’t go backward)
time.process_time() Function Returns the CPU process time
time.asctime() Function Converts a time tuple to a readable string
time.mktime() Function Converts a local time tuple to seconds since the epoch

Examples

Get the time since epoch:

Python
>>> import time

>>> time.ctime()
'Thu Jul 24 14:58:22 2025'

Pause execution for two seconds:

Python
>>> time.sleep(2)

Format the current time as a string:

Python
>>> time.strftime(
...     "%Y-%m-%d %H:%M:%S", time.localtime()
... )
'2025-07-24 14:58:53'

Measure elapsed time with high precision:

Python
>>> start = time.perf_counter()
>>> time.sleep(1)
>>> end = time.perf_counter()
>>> end - start
1.000123456

Common Use Cases

  • Measuring the duration of code execution
  • Formatting and displaying the current date and time
  • Scheduling tasks or delays at specific intervals
  • Converting between different time representations
  • Benchmarking and profiling code performance
  • Implementing retries with delays
  • Creating timeouts or intervals in programs
  • Simulating delays in tests, scripts, or teaching examples
  • Generating timestamps for logs or filenames

Real-World Example

Suppose you want to measure the execution time of a block of code to optimize performance. Here’s how you can achieve that using the time module:

Python
>>> import time

>>> def long_running_task():
...     time.sleep(2)
...

>>> start = time.perf_counter()
>>> long_running_task()
>>> end = time.perf_counter()
>>> elapsed_time = end - start

>>> print(
...     f"The task took {elapsed_time:.2f} seconds."
... )
The task took 2.00 seconds.

In this example, the time module helps you measure how long a task takes to execute, which is valuable for performance tuning and optimization.