Python calendar.timegm() Function
The Python calendar.timegm() function is used to convert a time tuple in UTC to a timestamp (seconds since epoch).
This function is the inverse of time.gmtime(), which converts a timestamp to a time tuple.
Syntax
Following is the syntax of the Python calendar.timegm() function −
timestamp = calendar.timegm(time_tuple)
Parameters
This function accepts a tuple of 9 elements as a parameter representing a UTC time (year, month, day, hour, minute, second, weekday, day of the year, DST flag).
Return Value
This function returns an integer representing the corresponding timestamp.
Example: Converting UTC Time Tuple to Timestamp
In this example, we convert a specific UTC time tuple to a timestamp using the calendar.timegm() function −
import calendar
time_tuple = (2025, 3, 14, 12, 30, 0, 4, 73, 0) # March 14, 2025, 12:30:00 UTC
timestamp = calendar.timegm(time_tuple)
print("Timestamp:", timestamp)
Following is the output of the above code −
Timestamp: 1741955400
Example: Converting Current UTC Time to Timestamp
We can use the time.gmtime() function to get the current UTC time tuple and convert it −
import calendar
import time
# Get current UTC time tuple
time_tuple = time.gmtime()
timestamp = calendar.timegm(time_tuple)
print("Current UTC Timestamp:", timestamp)
Following is the output obtained −
Current UTC Timestamp: 1741955400 # (Example output, varies based on current time)
Example: Converting a Past Date to Timestamp
We can also convert past dates to timestamps as shown in the example below −
import calendar
time_tuple = (2000, 1, 1, 0, 0, 0, 5, 1, 0) # January 1, 2000, 00:00:00 UTC
timestamp = calendar.timegm(time_tuple)
print("Timestamp for Y2K:", timestamp)
We get the output as shown below −
Timestamp for Y2K: 946684800
Example: Converting a Future Date to Timestamp
We can convert a future date, such as January 1, 2050, to a timestamp as shown in the following example −
import calendar
time_tuple = (2050, 1, 1, 0, 0, 0, 5, 1, 0) # January 1, 2050, 00:00:00 UTC
timestamp = calendar.timegm(time_tuple)
print("Timestamp for 2050:", timestamp)
The result produced is as shown below −
Timestamp for 2050: 2524608000
python_date_time.htm