Convert Datetime to UTC Timestamp in Python



We can use the datetime module to convert a datetime to a UTC timestamp in Python. If we already have the datetime object in UTC, then the timestamp() function can be directly used to get a UTC timestamp.

This function returns the time since epoch for that datetime object. If we have the datetime object in the local timezone, first replace the timezone info and then fetch the time. The following are the various methods to convert a datetime object into a UTC timestamp in Python.

Using datetime.timestamp() with UTC-aware datetime

The datetime.timestamp() method in Python converts a datetime object to a Unix timestamp, which represents the number of seconds since the Unix epoch (January 1, 1970, 00:00:00 UTC). The method returns a floating-point number.

If the datetime object is already in UTC format (timezone aware), then we can directly call the timestamp() method.

Example

The following program demonstrates a basic conversion of a datetime object (in UTC format) into a timestamp using datetime.timestamp() method.

import datetime

dt = datetime.datetime(2025, 5, 15, 12, 0, 0, tzinfo=datetime.timezone.utc)
timestamp = dt.timestamp()
print(timestamp)

Following is the output of the above code -

1742721600.0

Local time to UTC timestamp conversion

In this case, the datetime object was not in UTC format (local time), so we first need to convert it to UTC before getting the timestamp.

Example

In the following program, we create a local datetime object and assign it a timezone offset of 5 hours using the replace() method with datetime.timezone(datetime.timedelta(hours=-5)). Then we convert this datetime to a UNIX timestamp using the timestamp() method.

import datetime

dt_local = datetime.datetime(2025, 5, 15, 8, 0, 0)
dt_utc = dt_local.replace(tzinfo=datetime.timezone(datetime.timedelta(hours=-5)))
timestamp = dt_utc.timestamp()
print(timestamp)

Following is the output of the above code -

1747314000.0

Using calendar.timegm() with timetuple()

The calendar.timegm() function from the calendar module is used to convert a time tuple in UTC (Coordinated Universal Time) to a timestamp (seconds since epoch). This function is the inverse of time.gmtime(), which converts a timestamp to a time tuple. 

The timetuple() method in Python converts a date or datetime object into a time tuple. Time tuples are a sequence of nine integers representing different components of time.

Example

In the following program, we create a datetime object for a specific date and time. Using the timetuple() method, we convert it into a time tuple. Then converted this tuple into a UTC timestamp calendar.timegm() function.

import datetime
import calendar

dt = datetime.datetime(2025, 7, 15, 12, 0, 0)
timestamp = calendar.timegm(dt.timetuple())
print(timestamp)

Following is the output of the above code -

1752580800
Updated on: 2025-05-19T17:56:03+05:30

36K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements