📜  epoch 到 datetime utc python (1)

📅  最后修改于: 2023-12-03 15:14:53.107000             🧑  作者: Mango

从 epoch 到 datetime utc python

在计算机领域,epoch 是指一个固定的日期时间点,通常是指 1970 年 1 月 1 日 00:00:00(UTC 时间)。在很多编程语言和操作系统中,时间通常以 epoch 时间作为计算的起点。

在 Python 中,我们可以通过将 epoch 时间戳转换为 datetime 对象来处理日期和时间。下面是一些示例代码,演示了如何将 epoch 时间戳转换为 datetime 对象,以及如何将 datetime 对象转换为 UTC 时间。

将 epoch 时间戳转换为 datetime 对象

要将 epoch 时间戳转换为 datetime 对象,请使用 datetime.datetime.fromtimestamp() 函数。这个函数需要一个时间戳作为参数,并返回一个 datetime 对象。默认情况下,该函数将时间戳转换为本地时间,但您可以将可选的 tz 参数设置为一个时区对象,以将它转换为指定时区的时间。

import datetime

# 将 epoch 时间戳转换为本地时间
epoch_time = 1628491835
local_time = datetime.datetime.fromtimestamp(epoch_time)
print(local_time)  # 输出: 2021-08-09 21:57:15

# 将 epoch 时间戳转换为 UTC 时间
utc_time = datetime.datetime.utcfromtimestamp(epoch_time)
print(utc_time)  # 输出: 2021-08-09 13:57:15

# 将 epoch 时间戳转换为指定时区的时间
timezone = datetime.timezone(datetime.timedelta(hours=8))
asia_time = datetime.datetime.fromtimestamp(epoch_time, timezone)
print(asia_time)  # 输出: 2021-08-10 05:57:15+08:00
将 datetime 对象转换为 UTC 时间

要将 datetime 对象转换为 UTC 时间,请使用 datetime.astimezone() 函数,并将 tz 参数设置为 datetime.timezone.utc

# 将 datetime 对象转换为 UTC 时间
local_time = datetime.datetime(2021, 8, 9, 21, 57, 15)
utc_time = local_time.astimezone(datetime.timezone.utc)
print(utc_time)  # 输出: 2021-08-09 13:57:15+00:00
总结

在 Python 中,我们可以很方便地将 epoch 时间戳和 datetime 对象相互转换。您可以使用 datetime.datetime.fromtimestamp() 函数将 epoch 时间戳转换为 datetime 对象,并使用 datetime.astimezone() 函数将 datetime 对象转换为 UTC 时间。