在Python中将DateTime转换为UTC时间戳

2025年1月5日 | 阅读 3 分钟

了解 Python 中的日期时间对象非常重要,而 datetime 对象是编程中的常见任务。Datetime 对象主要用于处理时间数据。当需要在不同时区工作时,将 datetime 对象转换为 UTC 时间戳就变得尤为重要。Python 提供了转换 datetime 为 UTC 的功能。

在 Python 中,有几种方法可以将 datetime 转换为 UTC 时间戳。

  1. 使用 datetime.timestamp()
  2. 使用 calender.timegm()
  3. 使用 pytz 库
  4. 使用 time.mktime()

使用 datetime.timestamp() 将 Datetime 转换为 UTC 时间戳

让我们看看如何使用 datetime.timestamp() 方法将 datetime 转换为 UTC 时间戳。

代码

输出

Datetime: 2024-04-16 12:00:00
UTC Timestamp: 1713268800.0

说明

在上面的代码中,datetime 和 timezone 从 datetime 模块导入。日期和时间被传递给 datetime 方法,并通过 replace 方法将此日期替换为 UTC 时区。

使用 calendar.timegm() 将 Datetime 转换为 UTC 时间戳

让我们看看如何使用 calendar.timegm() 方法来解决这个问题。

代码

输出

Datetime: 2024-04-16 12:00:00
UTC Timestamp: 1713268800

说明

在上面的代码中,导入了 calendar 和 datetime 模块,并将当前日期和时间传递给 datetime 对象,然后通过 calendar.timegm 方法将此日期转换为 UTC,并打印出当前日期和时间及其对应的 UTC 时区。

使用 pytz 库将 Datetime 转换为 UTC 时间戳

让我们看一个示例,演示如何使用 pytz 库将 datetime 转换为 UTC 时间戳。

代码

输出

Datetime: 2024-01-25 12:00:00
UTC Timestamp: 1706184000

说明

在上面的代码中,导入了 pytz 模块,并创建了一个日期为 2024 年 1 月 25 日,时间为下午 12 点的 datetime 对象。然后使用 time.mktime 方法将此日期和时间转换为 UTC 时间戳。打印出原始日期和时间及其 UTC 转换结果。

另一种方法是将 datetime 转换为 UTC 时间戳;此时需要在 mktime() 方法中进行调整。

使用 mktime() 方法将 Datetime 转换为 UTC 时间戳

让我们看一个示例,演示如何使用 time 模块的 mktime() 方法将 datetime 转换为 UTC 时间戳。

代码

输出

Datetime: 2024-04-17 06:55:00
UTC Timestamp: 1713317100

说明

在上面的代码中,导入了 time 和 datetime 模块,并在 datetime 函数中导入了当前日期和时间。然后将此日期和时间转换为整数,并转换为 UTC 时间戳。

结论

Python 提供了各种函数和方法来将 datetime 转换为 UTC 时间戳。