Python time Module Overview

The time module is a built-in Python module for simple time-related tasks.

Beginners usually use it for:

  • getting the current timestamp
  • pausing a program
  • measuring how long code takes to run

It is a good starting point when you need something simple. If you need readable dates, calendar values, or date math, the datetime module overview is usually a better fit.

Quick example #

import time

print(time.time())
print("Waiting...")
time.sleep(2)
print("Done")

What this does:

  • time.time() gets the current Unix timestamp
  • time.sleep(2) pauses the whole program for 2 seconds

Example output:

1712345678.123456
Waiting...
Done

What the time module is #

The time module is built into Python, so you do not need to install anything.

It helps with:

  • timestamps
  • delays
  • simple timing tasks

This makes it useful when you want to:

  • pause code for a short time
  • measure how long something takes
  • get a numeric current time value

The time module is different from datetime.

  • time is better for delays and simple timestamps
  • datetime is better for readable dates like year, month, and day

When to use the time module #

Use the time module when you need simple time features.

Common cases:

Use datetime instead when you need:

  • readable dates
  • year, month, and day values
  • date calculations

Functions beginners should know first #

Here are the most useful time module functions to learn first.

time.time() #

Returns the current time as the number of seconds since the Unix epoch.

import time

current_timestamp = time.time()
print(current_timestamp)

This returns a float, not a formatted date string.

time.sleep(seconds) #

Pauses the whole program for the number of seconds you give it.

import time

print("Start")
time.sleep(1)
print("One second later")

You can also use decimal values:

import time

time.sleep(0.5)
print("Half a second passed")

time.ctime() #

Turns a timestamp into a readable string.

import time

timestamp = time.time()
print(time.ctime(timestamp))

Example output:

Fri Apr  5 12:34:56 2024

time.localtime() #

Converts a timestamp into a structured local time value.

import time

current_time = time.localtime()
print(current_time)
print(current_time.tm_year)
print(current_time.tm_mon)
print(current_time.tm_mday)

This is useful when you want parts of the local date and time.

time.strftime() #

Formats a time value as text.

import time

current_time = time.localtime()
formatted = time.strftime("%Y-%m-%d %H:%M:%S", current_time)
print(formatted)

Example output:

2024-04-05 12:34:56

Simple example flow #

A common beginner workflow looks like this:

  1. Import the module with import time
  2. Get the current timestamp with time.time()
  3. Pause execution with time.sleep()
  4. Format the output only if you need readable text

Example:

import time

start = time.time()
print("Start timestamp:", start)

time.sleep(2)

end = time.time()
print("End timestamp:", end)

print("Readable end time:", time.ctime(end))

This example:

  • gets a start timestamp
  • waits 2 seconds
  • gets an end timestamp
  • shows the end time in a readable format

Common beginner use cases #

The time module is often used for small, practical tasks.

Adding a delay in a script #

import time

print("Loading...")
time.sleep(2)
print("Finished")

Timing how long a task takes #

For a step-by-step guide, see how to measure execution time in Python.

import time

start = time.time()

for i in range(3):
    print("Working...")
    time.sleep(1)

end = time.time()

print("Duration:", end - start, "seconds")

Creating a simple countdown or timer #

For a full walkthrough, see how to create a countdown timer in Python.

import time

for number in range(3, 0, -1):
    print(number)
    time.sleep(1)

print("Go!")

Printing the current timestamp for logs #

import time

print("Log time:", time.time())

time module vs datetime module #

Beginners often wonder which module to use.

Use time when you need:

  • delays
  • simple timestamps
  • basic timing

Use datetime when you need:

  • readable dates
  • year, month, and day values
  • date arithmetic

A simple rule:

  • start with time.sleep() and time.time() for basic tasks
  • move to datetime for date display and date math

Common mistakes #

Here are some common beginner problems when using time.

Forgetting to import time #

This causes a NameError.

print(time.time())

Fix:

import time

print(time.time())

Passing a string to time.sleep() #

This will fail because sleep() expects a number.

import time

time.sleep("2")

Fix:

import time

time.sleep(2)

Expecting time.time() to return a readable date #

time.time() returns a numeric Unix timestamp.

import time

print(time.time())

If you want readable text, use time.ctime() or time.strftime().

import time

print(time.ctime())

Using time when datetime would be easier #

If you need values like year, month, and day in a clean object, the datetime module overview is usually easier to work with.

Thinking sleep() pauses only one line #

time.sleep() pauses the whole program before it moves to the next line.

import time

print("Before")
time.sleep(2)
print("After")

Useful commands to test the module #

These commands let you quickly check that the module works in your Python installation.

python --version
python -c "import time; print(time.time())"
python -c "import time; time.sleep(1); print('done')"
python -c "import time; print(time.ctime())"

FAQ #

Is the time module built into Python? #

Yes. You can use it with import time and do not need to install anything.

What does time.sleep() do? #

It pauses the whole program for the number of seconds you give it.

What does time.time() return? #

It returns the current Unix timestamp as a float.

Should I use time or datetime? #

Use time for delays and simple timestamps. Use datetime for readable dates and date calculations.

Can time.sleep() use decimal values? #

Yes. For example, time.sleep(0.5) pauses for half a second.

See also #

Press Esc to close