You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将API返回的Unix时间戳转换为Python可读格式?

把Unix时间戳转换为易读的Python DateTime格式

嘿,这问题我之前也碰到过!你看到的time_gmt是Unix时间戳——简单说就是从1970年1月1日UTC时间00:00:00开始,到目标时间总共经过的秒数。既然你熟悉Python的DateTime对象,那转换起来超简单,给你几个实用的方法:

基础转换(UTC时间)

Python内置的datetime模块直接支持解析这种时间戳,用utcfromtimestamp()可以得到UTC时区的DateTime对象:

import datetime

# 从API获取的时间戳
api_timestamp = 1213329060
# 转换为UTC DateTime对象
utc_dt = datetime.datetime.utcfromtimestamp(api_timestamp)

print(utc_dt)
# 输出结果:2008-06-13 03:51:00

转换为本地时间

如果需要转换成你所在时区的时间,用fromtimestamp()就行,它会自动适配你的系统时区:

local_dt = datetime.datetime.fromtimestamp(api_timestamp)
print(local_dt)
# 举个例子,如果你在北京时间时区,输出会是:2008-06-13 11:51:00

自定义格式化输出

要是想得到更友好的字符串格式(比如带时区标识),用strftime()方法自定义格式就行:

# 格式化为"年-月-日 时:分:秒 GMT"的形式
formatted_gmt = utc_dt.strftime("%Y-%m-%d %H:%M:%S GMT")
print(formatted_gmt)
# 输出:2008-06-13 03:51:00 GMT

进阶:带时区的规范处理(Python 3.9+)

如果你用的是Python 3.9及以上版本,推荐用zoneinfo模块来做时区转换,更规范可靠:

from zoneinfo import ZoneInfo

# 直接生成带UTC时区的DateTime对象
utc_dt_with_tz = datetime.datetime.fromtimestamp(api_timestamp, tz=ZoneInfo("UTC"))
# 转换为北京时间(Asia/Shanghai)
beijing_dt = utc_dt_with_tz.astimezone(ZoneInfo("Asia/Shanghai"))

# 格式化输出带时区名称和偏移量的字符串
print(beijing_dt.strftime("%Y-%m-%d %H:%M:%S %Z%z"))
# 输出:2008-06-13 11:51:00 CST+0800

另外提一句,API里的day_ind: 'N'应该是「Night(夜晚)」的标识,对应转换后的UTC时间是凌晨3点多,逻辑完全对得上~

内容的提问来源于stack exchange,提问作者Rishabh Agrahari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:35:45