📅  最后修改于: 2023-12-03 15:09:32.880000             🧑  作者: Mango
当我们从国际化的API接口获取时间时,往往返回的是世界时间:UTC。将UTC转换为我们当地的日期时间是十分常见的需求,这篇文章将介绍如何在编程中将UTC时间转换为日期。
我们可以使用标准库中的datetime模块中的datetime类,它支持从时间戳或元组中导入时间。 我们可以使用datetime.utcfromtimestamp()函数将UTC时间戳转换为datetime对象:
import datetime
# 将UTC时间戳转换为datetime对象
utc_time = datetime.datetime.utcfromtimestamp(1625439987)
# 将UTC转换为本地时间(当前时区)
local_time = utc_time.astimezone()
# 输出转换后的时间字符串
print(local_time.strftime('%Y-%m-%d %H:%M:%S'))
输出结果为2021-07-04 17:19:47
。
另外,我们可以使用更加简便的第三方库来完成UTC转换。pytz 库提供了包括时区转换在内的许多日期和时间处理方案。
from datetime import datetime
import pytz
# 将UTC时间戳转换为datetime对象
utc_time = datetime.fromtimestamp(1625439987, pytz.utc)
# 将UTC转换为本地时间(当前时区)
local_tz = pytz.timezone('Asia/Shanghai')
local_time = utc_time.astimezone(local_tz)
# 输出转换后的时间字符串
print(local_time.strftime('%Y-%m-%d %H:%M:%S'))
输出结果为2021-07-05 01:19:47
。
无论您选择哪种方法,将UTC转换为日期时间本质上都是进行时区转换。标准库提供了基本的功能,而第三方库则提供了更丰富的时区处理方法。您可以根据自己的需求选择适合的方法。