当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Datetime转UTC Timestamp用法及代码示例


处理日期时间对象和时间戳是编程中的一项常见任务,尤其是在处理 time-sensitive 数据时。使用不同时区时,通常需要将日期时间对象转换为 UTC 时间戳。在Python 中,有多种方法可以实现这一点。在本文中,我们将探讨将 DateTime 转换为 UTC 时间戳的四种不同方法。

在 Python 中将日期时间转换为 UTC 时间戳

以下是将日期时间转换为 UTC 时间戳的方法Python.

使用以下命令将日期时间转换为 UTC 时间戳datetime.timestamp()

在此示例中,DateTime下面的代码创建一个日期时间对象`dt`,表示 2024 年 1 月 25 日中午 12:00。然后,它使用“replace()”方法将时区设置为 UTC,并使用“timestamp()”方法获取 POSIX 时间戳,将此日期时间对象转换为 UTC 时间戳。

Python3


from datetime import datetime, timezone
# Create a datetime object
dt = datetime(2024, 1, 25, 12, 0, 0)
# Convert to UTC timestamp using timestamp() method
timestamp_utc = dt.replace(tzinfo=timezone.utc).timestamp()
print("Datetime:",dt)
print("UTC Timestamp:", timestamp_utc)

输出:

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

使用以下命令将日期时间转换为 UTC 时间戳calendar.timegm()

在此示例中,下面的代码利用 `calendar` 模块和 `timegm()` 函数将日期时间对象 `dt`(表示 2024 年 1 月 25 日中午 12:00)转换为 UTC 时间戳。它使用“utctimetuple()”从日期时间对象中提取 UTC 时间元组,然后使用“timegm()”计算 UTC 时间戳。

Python3


import calendar
from datetime import datetime
# Create a datetime object
dt = datetime(2024, 1, 25, 12, 0, 0)
# Convert to UTC timestamp using timegm() function
timestamp_utc = calendar.timegm(dt.utctimetuple())
print("Datetime:", dt)
print("UTC Timestamp:", timestamp_utc)

输出:

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

使用以下命令将日期时间转换为 UTC 时间戳pytz Library

在此示例中,以下代码使用 `pytz` 库将日期时间对象 `dt`(表示 2024 年 1 月 25 日中午 12:00)转换为 UTC 时间戳。它首先使用“pytz.utc.localize()”将日期时间对象本地化为 UTC 时区。然后,它通过使用`timestamp()`方法转换本地化的日期时间对象来获取UTC时间戳。

Python3


import pytz
from datetime import datetime
# Create a datetime object
dt = datetime(2024, 1, 25, 12, 0, 0)
# Set the timezone to UTC
dt_utc = pytz.utc.localize(dt)
# Convert to UTC timestamp
timestamp_utc = int(dt_utc.timestamp())
print("Datetime:", dt)
print("UTC Timestamp:", timestamp_utc)

输出:

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

Convert A Datetime To A Utc Timestamp U唱time.mktime()

在此示例中,以下代码创建 2024 年 1 月 25 日中午 12:00 的日期时间对象,然后使用“time.mktime”函数将其转换为 UTC 时间戳。打印原始日期时间及其相应的 UTC 时间戳。此方法假设日期时间对象位于 UTC 时区,或者在应用“mktime()”之前不需要时区调整。

Python3


import time
from datetime import datetime
# Create a datetime object
dt = datetime(2024, 1, 25, 12, 0, 0)
# Convert to UTC timestamp using time.mktime
timestamp_utc = int(time.mktime(dt.timetuple()))
print("Datetime:", dt)
print("UTC Timestamp:", timestamp_utc)

输出:

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

结论

总之,Python 提供了多种将日期时间对象转换为 UTC 时间戳的方法,以满足不同的偏好和用例。是否利用内置函数,例如timestamp()或者time.mktime,使用像这样的库pytz或者arrow,甚至依靠手动数学运算,开发人员可以选择最适合其编码风格和项目要求的方法。



相关用法


注:本文由纯净天空筛选整理自kokaneit92大神的英文原创作品 Convert Datetime to UTC Timestamp in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。