(Python Tutorial – 049)
Python time Module
In this article, we will explore time module in detail. We will learn to use different time-related functions defined in the time module with the help of examples.
Python has a module named time
to handle time-related tasks. To use functions defined in the module, we need to import the module first. Here’s how:
import time
Here are commonly used time-related functions.
Python time.time()
The time()
function returns the number of seconds passed since epoch.
For Unix system, January 1, 1970, 00:00:00
at UTC is epoch (the point where time begins).
import time
seconds = time.time()
print("Seconds since epoch =", seconds)
Python time.ctime()
The time.ctime()
function takes seconds passed since epoch as an argument and returns a string representing local time.
import time
# seconds passed since epoch
seconds = 1545925769.9618232
local_time = time.ctime(seconds)
print("Local time:", local_time)
If you run the program, the output will be something like:
Local time: Thu Dec 27 15:49:29 2018
Python time.sleep()
The sleep()
function suspends (delays) execution of the current thread for the given number of seconds.
import time
print("This is printed immediately.")
time.sleep(2.4)
print("This is printed after 2.4 seconds.")
To learn more, visit: Python sleep().
Before we talk about other time-related functions, let’s explore time.struct_time
class in brief.
time.struct_time Class
Several functions in the time
module such as gmtime()
, asctime()
etc. either take time.struct_time
object as an argument or return it.
Here’s an example of time.struct_time
object.
time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=6, tm_min=35, tm_sec=17, tm_wday=3, tm_yday=361, tm_isdst=0)
Index | Attribute | Values |
---|---|---|
0 | tm_year |
0000, …., 2018, …, 9999 |
1 | tm_mon |
1, 2, …, 12 |
2 | tm_mday |
1, 2, …, 31 |
3 | tm_hour |
0, 1, …, 23 |
4 | tm_min |
0, 1, …, 59 |
5 | tm_sec |
0, 1, …, 61 |
6 | tm_wday |
0, 1, …, 6; Monday is 0 |
7 | tm_yday |
1, 2, …, 366 |
8 | tm_isdst |
0, 1 or -1 |
The values (elements) of the time.struct_time
object are accessible using both indices and attributes.
Python time.localtime()
The localtime()
function takes the number of seconds passed since epoch as an argument and returns struct_time
in local time.
import time
result = time.localtime(1545925769)
print("result:", result)
print("nyear:", result.tm_year)
print("tm_hour:", result.tm_hour)
When you run the program, the output will be something like:
result: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=49, tm_sec=29, tm_wday=3, tm_yday=361, tm_isdst=0) year: 2018 tm_hour: 15
If no argument or None
is passed to localtime()
, the value returned by time()
is used.
Python time.gmtime()
The gmtime()
function takes the number of seconds passed since epoch as an argument and returns struct_time
in UTC.
import time
result = time.gmtime(1545925769)
print("result:", result)
print("nyear:", result.tm_year)
print("tm_hour:", result.tm_hour)
When you run the program, the output will be:
result = time.struct_time(tm_year=2018, tm_mon=12, tm_mday=28, tm_hour=8, tm_min=44, tm_sec=4, tm_wday=4, tm_yday=362, tm_isdst=0) year = 2018 tm_hour = 8
If no argument or None
is passed to gmtime()
, the value returned by time()
is used.
Python time.mktime()
The mktime()
function takes struct_time
(or a tuple containing 9 elements corresponding to struct_time
) as an argument and returns the seconds passed since epoch in local time. Basically, it’s the inverse function of localtime()
.
import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
local_time = time.mktime(t)
print("Local time:", local_time)
The example below shows how mktime()
and localtime()
are related.
import time
seconds = 1545925769
# returns struct_time
t = time.localtime(seconds)
print("t1: ", t)
# returns seconds from struct_time
s = time.mktime(t)
print("s:", seconds)
When you run the program, the output will be something like:
t1: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=49, tm_sec=29, tm_wday=3, tm_yday=361, tm_isdst=0) s: 1545925769.0
Python time.asctime()
The asctime()
function takes struct_time
(or a tuple containing 9 elements corresponding to struct_time
) as an argument and returns a string representing it. Here’s an example:
import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
result = time.asctime(t)
print("Result:", result)
When you run the program, the output will be:
Result: Fri Dec 28 08:44:04 2018
Python time.strftime()
The strftime()
function takes struct_time
(or tuple corresponding to it) as an argument and returns a string representing it based on the format code used. For example,
import time
named_tuple = time.localtime() # get struct_time
time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple)
print(time_string)
When you run the program, the output will be something like:
12/28/2018, 09:47:41
Here, %Y
, %m
, %d
, %H
etc. are format codes.
%Y
– year [0001,…, 2018, 2019,…, 9999]%m
– month [01, 02, …, 11, 12]%d
– day [01, 02, …, 30, 31]%H
– hour [00, 01, …, 22, 23%M
– minutes [00, 01, …, 58, 59]%S
– second [00, 01, …, 58, 61]
To learn more, visit: time.strftime().
Python time.strptime()
The strptime()
function parses a string representing time and returns struct_time
.
import time
time_string = "21 June, 2018"
result = time.strptime(time_string, "%d %B, %Y")
print(result)
When you run the program, the output will be:
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=21, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=172, tm_isdst=-1)
Disclaimer: The information and code presented within this recipe/tutorial is only for educational and coaching purposes for beginners and developers. Anyone can practice and apply the recipe/tutorial presented here, but the reader is taking full responsibility for his/her actions. The author (content curator) of this recipe (code / program) has made every effort to ensure the accuracy of the information was correct at time of publication. The author (content curator) does not assume and hereby disclaims any liability to any party for any loss, damage, or disruption caused by errors or omissions, whether such errors or omissions result from accident, negligence, or any other cause. The information presented here could also be found in public knowledge domains.
Learn by Coding: v-Tutorials on Applied Machine Learning and Data Science for Beginners
Latest end-to-end Learn by Coding Projects (Jupyter Notebooks) in Python and R:
All Notebooks in One Bundle: Data Science Recipes and Examples in Python & R.
End-to-End Python Machine Learning Recipes & Examples.
End-to-End R Machine Learning Recipes & Examples.
Applied Statistics with R for Beginners and Business Professionals
Data Science and Machine Learning Projects in Python: Tabular Data Analytics
Data Science and Machine Learning Projects in R: Tabular Data Analytics
Python Machine Learning & Data Science Recipes: Learn by Coding
R Machine Learning & Data Science Recipes: Learn by Coding
Comparing Different Machine Learning Algorithms in Python for Classification (FREE)
There are 2000+ End-to-End Python & R Notebooks are available to build Professional Portfolio as a Data Scientist and/or Machine Learning Specialist. All Notebooks are only $29.95. We would like to request you to have a look at the website for FREE the end-to-end notebooks, and then decide whether you would like to purchase or not.
Python Example – Write a Python program to find the available built-in modules
How to test different OPTIMIZERs and Epoch Sizes in a Deep Learning model
Python Exercise: Write a program to get execution time (in seconds) for a Python method