Python Time Module With Examples

Posted in /  

Python Time Module With Examples
vinaykhatri

Vinay Khatri
Last updated on November 21, 2024

    Python time module allows you to work with time in Python. It helps you represent time in different formats. Besides, you can perform many other time-related tasks.

    This tutorial explains the Python time module and the different methods available with examples.

    Python Time Module

    time is a standard, built-in module in Python that you need to import into your program if dealing with date and time. It is included in Python's standard utility; hence, there is no need to install it externally. Simply import it into your program using the import keyword.

    The following is the syntax for importing the time module:

    Syntax

    import time

    This module makes it possible to represent time in your program in different formats, like numbers, strings , and objects. This module supports other functionalities: stopping a program from executing for a specific time, gauging code efficiency, and waiting until a program executes.

    Python Time Module Methods

    Let us now explore the different methods available in the time module.

    What is an Epoch?

    An epoch in computer programming is a starting point for dealing with dates and times. It helps you determine the passage of time. It is platform-dependent.

    Now, consider the epoch for your system is March 1, 2010. Let us say today is March 2, 2010, UTC, and you need to measure the time passed since the epoch.

    The epoch will be 86400 seconds. There is only a gap of a day. Hence, the epoch = 24*60*60 = 86400.

    Additionally, the time before the epoch is represented with a negative sign. The epoch for February 28, 2010, UTC, is -86400.

    The epoch for Windows and UNIX systems is January 1, 1970, 00:00:00 UTC .

    1. time.time() - Getting Epoch

    The time.time() method returns the time passed since the epoch in seconds.

    Syntax

    time.time()

    Example

    import time
    epoch_seconds = time.time()
    print('The epoch since Unix was introduced =', epoch_seconds)

    Output

    The epoch since Unix was introduced = 1565364102.1340282

    2. time.ctime() - Receive Time In String from Seconds

    The time.ctime() method returns time in a string type. It takes seconds passed since the epoch as an argument and converts them into a local date and time.

    Syntax

    time.ctime()

    Example

    import time
    epoch_seconds = 1565364102.1340282
    current_time_date = time.ctime(epoch_seconds)
    print("It's",current_time_date)

    Output

    It's Fri Aug  9 20:51:42 2019

    The time.ctime() use the epoch_seconds we provide and convert it into a date and time since the Unix epoch time.

    3. time.sleep() - Delaying the Execution of Programs

    This is a very interesting function of the time module. The time.sleep() method stops the execution of the current thread for the given time period. It accepts seconds as an argument and delays the next output for the same time.

    Read more about time.sleep() method here .

    Syntax

    time.sleep()

    Example

    import datetime
    import time
    print("The first statement prints at",datetime.datetime.now().strftime('minute=%M seconds=%S'))
    time.sleep(5)
    print("The second statement prints at",datetime.datetime.now().strftime('minute=%M seconds=%S'))

    Output

    The first statement prints at minute=20 seconds=07
    The second statement prints at minute=20 seconds=12

    In the above output, we can see a delay of 5 seconds. The first print statement executes at 20 minutes: 7 seconds, and the second statement executes at 20 minutes: 12 seconds.

    time.struct_time() Class

    The time.struct_time() class in Python helps you to access the local time, primarily the non-epochal timestamps. We get the output as the named tuple. We can access the tuple’s value using the index and attribute name.

    The syntax of time.struct_time object is:

    time.struct_time(tm_year=2019, tm_mon=10, tm_mday=10,
    tm_hour=7, tm_min=10, tm_sec=20,
    tm_wday=3, tm_yday=314, tm_isdst=0)

    The following are the attributes of the struct_time object with their values and index:

    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 struct_time() class consists of the following methods:

    4. time.localtime()

    The time.localtime() method takes the time passed since the epoch in seconds. It outputs the struct_time() object (a named tuple containing 9 attributes as discussed above) in the local time.

    It is important to note that if you do not specify the seconds parameter as an argument to the time.localtime( ) function, it takes the time returned by the time.time() function.

    Syntax

    time.localtime()

    Example

    import time
    now = time.localtime(1565364102.1340282)
    print("now value is:", now)
    print()
    print("year:", now.tm_year)
    print('month',now.tm_mon)
    print("tm_hour:", now.tm_hour)

    Output

    now value is: time.struct_time(tm_year=2019, tm_mon=8, tm_mday=9, tm_hour=20, tm_min=51, tm_sec=42, tm_wday=4, tm_yday=221, tm_isdst=0)
    year: 2019
    month 8
    tm_hour: 20

    5. time.gmtime()

    The time.gmtime() method in the Python time module accepts the seconds passed since the epoch and represents them in the form of the time.struct_time() object in UTC as output. Here, the tm_isdst attribute is always 0.

    This function takes the output of the time.time() function if you do not specify the seconds parameter.

    Syntax

    time.gmtime()

    Example

    import time
    now = time.gmtime(1565364102.1340282)
    print("now value is:", now)
    print()
    print("year:", now.tm_year)
    print('month',now.tm_mon)
    print("tm_hour:", now.tm_hour)

    Output

    year: 2019
    month 8
    tm_hour: 15

    6. time.mktime()

    This function is the inverse of the time.localtime() function. It accepts the struct_time object (a tuple containing 9 attributes) as an argument and returns the time passed since the epoch in seconds in the local time.

    The following is the structure of the struct_time object:

    (year, month, day, hour, minute, second, weekday, day of the year, daylight saving)

    Syntax

    time.mktime()

    Example

    import time
    import time
    now = 1565364102.1340282
    struct_time_obj = time.localtime(now)
    print("struct_time_obj ", struct_time_obj)
    epoch_seconds = time.mktime(struct_time_obj)
    print("epoch_second: ", epoch_seconds)

    Output

    struct_time_obj  time.struct_time(tm_year=2019, tm_mon=8, tm_mday=9, tm_hour=20, tm_min=51, tm_sec=42, tm_wday=4, tm_yday=221, tm_isdst=0)
    1565364102.0

    7. time.asctime()

    The time.asctime() method returns the time in string format. It accepts struct_time or a corresponding 9-element tuple as an argument obtained by the time.gmtime() or time.localtime() methods. The time in the string format has the following structure:

    Day Mon Date Hour:Min:Sec Year

    Syntax

    time.asctime()

    Example

    import time
    now = 1565364102.1340282
    struct_time_obj = time.localtime(now)
    print("struct_time_obj ", struct_time_obj)
    Date_Time = time.asctime(struct_time_obj)
    print("Date_Time",Date_Time )

    Output

    struct_time_obj  time.struct_time(tm_year=2019, tm_mon=8, tm_mday=9, tm_hour=20, tm_min=51, tm_sec=42, tm_wday=4, tm_yday=221, tm_isdst=0)
    Date_Time Fri Aug  9 20:51:42 2019

    8. time.strftime()

    The time.strftime() takes an argument as the struct_time() object and returns an equivalent string in the format specified in the argument.

    If the time is not specified, the function takes the current local time returned by the time.localtime() function.

    Syntax

    time.strftime()

    Example

    import time
    tuple_structtime = time.localtime() # get struct_time
    string_time = time.strftime("%m/%d/%Y, %H:%M:%S", tuple_structtime)
    print(string_time)

    Output

    05/16/2023, 05:28:49

    Here, %m, %d, %Y, %H, %M, and %S are format codes.

    • %Y - year
    • %m - month
    • %d - day
    • %H - hour
    • %M - minute
    • %S - second

    9. time.strptime()

    The time.strptime() function takes a string representing time as an argument, parses it, and converts it into the struct_time object.

    Syntax

    time.strptime()

    Example

    import time
    time_string = "17 June, 1998"
    result = time.strptime(time_string, "%d %B, %Y")
    print(result)

    Output

    time.struct_time(tm_year=2023, tm_mon=7, tm_mday=14, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=-1)

    Conclusion

    This was all about the Python time module. It allows us to represent the date and time in Python in different formats. It is an in-built module and does not require any installation. You can directly import it into your program.

    All the above methods help you display the time and date by taking different arguments. We recommend you try the above functions using different inputs and understand how they work. The only thing to understand here is the epoch. Once you know what epoch is, you can use these methods easily.

    If you have any queries regarding this article, let us know in the comments.

    People are also reading:

    Leave a Comment on this Post

    0 Comments