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

毫秒转datetime格式异常求助:转换结果与预期不符

毫秒转Datetime问题解决方案

问题根源

你遇到的问题来自两个核心错误:

  • 时间戳单位混淆:你提供的1701092673是秒级时间戳,不是毫秒级。如果是毫秒,数值应该是1701092673000。
  • 时区差异:datetime.fromtimestamp()默认使用本地时区转换,而你的预期结果是UTC时间。

错误代码分析

  • 第一段代码:将秒级时间戳除以1000,得到1701092.673秒,对应1970年1月的时间,结果自然错误。
  • 第二段代码:直接用本地时区转换秒级时间戳,若你的时区是UTC+8,就会得到2023-11-27 14:44:33,和UTC时间差8小时。

正确代码实现

情况1:数值为秒级时间戳(符合你的预期输入)

使用utcfromtimestamp()直接转换为UTC时间:

import datetime

timestamp = 1701092673
dt_utc = datetime.datetime.utcfromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S')
print(dt_utc)  # 输出:2023-11-27 02:44:33

情况2:数值确实是毫秒级时间戳(需补全末尾3个0)

先将毫秒转秒,再用UTC时区转换:

import datetime

ms_timestamp = 1701092673000
dt_utc = datetime.datetime.utcfromtimestamp(ms_timestamp / 1000).strftime('%Y-%m-%d %H:%M:%S')
print(dt_utc)  # 输出:2023-11-27 02:44:33

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 21:27:20