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

Python将时间戳转换为日期得到错误结果如何解决?

时间戳转换日期偏差问题解决方案

问题根源

你遇到的日期差1天的问题是时区差异导致的:

  • 你使用的datetime.fromtimestamp()方法默认会将时间戳转换为运行设备的本地时区时间
  • 时间戳1584474718199对应的UTC标准时间为2020-03-17 23:51:58,如果你的设备时区为UTC+8(中国标准时间),加上8小时偏移后就会得到2020-03-18的日期,和你当前的输出结果一致。

修复方案

如果你预期的是UTC时区对应的日期,使用以下两种写法均可:

写法1:兼容Python全版本

from datetime import datetime
timestamp = 1584474718199/1000
# 直接转换为UTC时间
dt_object = datetime.utcfromtimestamp(timestamp)
print(f"{dt_object:%Y-%m-%d}")

写法2:Python3.3+ 规范写法(推荐,带时区信息避免歧义)

from datetime import datetime, timezone
timestamp = 1584474718199/1000
# 显式指定转换为UTC时区的时间
dt_object = datetime.fromtimestamp(timestamp, tz=timezone.utc)
print(f"{dt_object:%Y-%m-%d}")

两种写法运行后都会输出你预期的2020-03-17结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 16:45:02