Python Time Module Tutorial – Complete Guide

Before we delve into headings, let’s acquaint ourselves with what this article is all about. We are going to demystify the Python time module. For anyone looking to create engaging and well-functioning applications with Python, the time module is an invaluable tool as it allows us to handle time-related tasks.

What is the Python Time Module?

The Python time module is a part of Python’s standard library. It houses various functions for working with dates and times. With it, you can perform a variety of operations such as getting the current time, converting time formats, or making the program pause for a certain number of seconds.

Learning to use the Python time module is vital, and here’s why:

  • Handling Time: It allows you to handle numerous time-related functions in your code. You can output the current time, convert time formats, and even make the program execute a sleep command.
  • Game Development: For aspiring game developers, manipulating time and creating delays are common tasks.
  • Job Market: Mastering such fundamental modules not only hones your Python skills but makes you a more desirable candidate in the job market.

Next, we will delve straight into Python time, unraveling its mysteries and demonstrating how you can utilize its power in your projects. Stay tuned!

CTA Small Image

Python Time – The Basics

Using the Python time module is a straightforward task. Let’s start by importing the time module into our Python environment.

import time

The time() function

The simplest function you can use is time(). This function returns the current system time as a floating point number, expressed in seconds since the epoch.

import time

The sleep() function

The sleep() function is a way of triggering delays. By calling time.sleep(x), you can make the program pause for x seconds.

import time

In this code, there will be a two-second pause between “Start” and “End” printed out.

The ctime() function

The ctime() function is used to convert a time expressed in seconds since the epoch to a string representing local time.

import time

This code will output the current time in a local time string format, for example “Mon Sep 6 11:45:59 2021”.

Deeper Dive into Python Time – Struct Time

An important concept in the Python Time module is struct_time – a sequence-like object that can be used to store a time instance.

The gmtime() function

The gmtime() function takes the number of seconds passed since epoch as an argument and returns a time structure in UTC.

import time

The gmtime() function will return something like time.struct_time(tm_year=2021, tm_mon=9, tm_mday=6, tm_hour=11, tm_min=45, tm_sec=59, tm_wday=0, tm_yday=249, tm_isdst=0), which represents the current UTC time.

The localtime() function

The localtime() function can be used to convert a time in seconds since the epoch to a struct_time in local time.

import time

This would return a struct_time similar to gmtime(), but adjusted to your local time.

Through mastering these basics of Python time, you’re well on your way to harnessing the power of this useful module. Stay tuned for more!

Formatting With the Time Module

The Python time module allows for versatile formatting by converting struct_time objects to a string that represents time in readable formats.

The asctime() function

The asctime() function accepts a struct_time object and will convert it into a string format.

import time
time_obj = time.gmtime()

This will print the time in a string format, something like “Mon Sep 6 12:00:00 2021”.

The strftime() function

The strftime() function gives us even more control over the formatting. It converts a struct_time object to a string as per the format directive we indicate.

import time
time_obj = time.gmtime()
print(time.strftime("%Y-%m-%d %H:%M:%S", time_obj))

The code will display the time in the YYYY-MM-DD HH:MM:SS format, for example, “2021-09-06 12:00:00”.

Time Parsing with the Time Module

Python time doesn’t stop at formatting; it allows for efficient parsing, which involves converting human-readable date and time data into a format that the computer can comprehend.

The strptime() function

The strptime() function pairs perfectly with strftime(). It converts a string representing time into struct_time as per the format directive.

import time
time_str = "2021-09-06 12:00:00"
print(time.strptime(time_str, "%Y-%m-%d %H:%M:%S"))

Upon running this code, you’ll get a struct_time object: `time.struct_time(tm_year=2021, tm_mon=9, tm_mday=6, tm_hour=12, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=249, tm_isdst=-1)`.

The mktime() function

mktime() takes a time.struct_time object as an argument and turns it into a floating-point time.

import time
time_obj = time.gmtime()

This code will return a floating-point number representing the seconds passed since the epoch.

The perf_counter() function

A unique function in Python time, perf_counter(), allows you to measure the performance of your Python program. It returns the float value of time in seconds, from the moment you start the program until the function is called.

import time
start_time = time.perf_counter()
end_time = time.perf_counter()
run_time = end_time - start_time
print(f"The program executed in {run_time} seconds.")

In this code, the total execution time includes the 2 seconds of sleep time.

Understanding these functions and how to manipulate Python time is undoubtedly a game-changer in your Python coding journey.

Where to Go Next?

At this point, you should feel confident about your foundational knowledge of the Python time module. But remember, the journey doesn’t stop here.

When you’re ready to level up your Python skills, we at Zenva have just the thing for you. Our Python Mini-Degree is the perfect next step for your progress. It’s a one-stop gateway to Python mastery. In this exceptional course bundle, you’ll get access to a multitude of topics. This collection takes you from Python coding basics, algorithms, and object-oriented programming to game development, and app creation.

The beauty and efficacy of this mini-degree lie in its versatility and hands-on approach. This isn’t just about theory – you’ll actually build your own games, algorithms, and real-world apps.

So whether you’re a beginner or a programmer looking to expand your skills, there’s something valuable for you. And to ensure you always stay relevant in the fast-paced tech industry, our courses are regularly updated with new content.

Not sure where to start? Check out our entire catalogue of Python courses today!


Breaking down the Python time module might have seemed daunting at first, but we hope that this guide has clarified its core aspects for you. Mastering these fundamentals is a stepping stone to becoming a proficient Python developer, and it opens doors to diverse applications in web development, data science, game development, and much more.

And remember, the journey of learning and innovating never ends. With our Python Mini-Degree, you can continue to expand your Python toolkit and create exciting, real-world projects. There’s a massive universe of Python discovery awaiting you and we at Zenva are here to guide you every step of the way. Happy coding!

Did you come across any errors in this tutorial? Please let us know by completing this form and we’ll look into it!

Python Blog Image

FINAL DAYS: Unlock coding courses in Unity, Godot, Unreal, Python and more.