📅  最后修改于: 2023-12-03 15:14:53.107000             🧑  作者: Mango
在计算机领域,epoch 是指一个固定的日期时间点,通常是指 1970 年 1 月 1 日 00:00:00(UTC 时间)。在很多编程语言和操作系统中,时间通常以 epoch 时间作为计算的起点。
在 Python 中,我们可以通过将 epoch 时间戳转换为 datetime 对象来处理日期和时间。下面是一些示例代码,演示了如何将 epoch 时间戳转换为 datetime 对象,以及如何将 datetime 对象转换为 UTC 时间。
要将 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.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 时间。