You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Python中如何将Unix时间戳列表转换为日期?已尝试多种方法未解决

嘿,我猜你之前转换失败大概率是没注意到这些是毫秒级的Unix时间戳(长度13位,普通Unix时间戳是10位秒级)!别着急,给你几个亲测有效的转换方案,覆盖不同场景:

方法1:Unix/Linux命令行快速转换

系统自带的date工具默认处理秒级时间戳,所以我们先把毫秒转成秒再处理就行:

  • 单个转换示例:
    运行这条命令就能得到对应时间:
    date -d @$((1626325266384/1000))
    
    这里$((...))是bash的算术运算,自动帮你把毫秒数除以1000转成秒。
  • 批量转换所有时间戳:
    把所有时间戳放进数组,用循环批量输出:
    timestamps=(1626325266384 1626328880748 1626332547188 1626336091854 1626339628069 1626343243866 1626415257315 1626418895970 1626422492406 1626426036647 1626429722183 1626433273664 1626436849458 1626440458241 1626444063135)
    for ts in "${timestamps[@]}"; do
      echo "$ts -> $(date -d @$((ts/1000)))"
    done
    
方法2:Python脚本精准转换

如果需要更灵活的时间格式(比如UTC/本地时间切换、自定义输出格式),用Python最合适:

import datetime

timestamps = [1626325266384, 1626328880748, 1626332547188, 1626336091854, 1626339628069, 1626343243866, 1626415257315, 1626418895970, 1626422492406, 1626426036647, 1626429722183, 1626433273664, 1626436849458, 1626440458241, 1626444063135]

for ts in timestamps:
    # 转换为UTC时间(保留毫秒)
    utc_time = datetime.datetime.utcfromtimestamp(ts / 1000).strftime("%Y-%m-%d %H:%M:%S.%f")
    # 转换为本地时间(保留毫秒)
    local_time = datetime.datetime.fromtimestamp(ts / 1000).strftime("%Y-%m-%d %H:%M:%S.%f")
    print(f"时间戳: {ts}\nUTC时间: {utc_time[:-3]}\n本地时间: {local_time[:-3]}\n---")

运行后会输出每个时间戳对应的UTC和本地时间,[:-3]是为了只保留三位毫秒数,更符合日常使用习惯;如果不需要毫秒,直接去掉.%f和切片即可。

方法3:JavaScript快速验证

不管是浏览器控制台还是Node.js环境,JS的Date对象直接支持毫秒级时间戳,不用额外转换:

const timestamps = [1626325266384, 1626328880748, 1626332547188, 1626336091854, 1626339628069, 1626343243866, 1626415257315, 1626418895970, 1626422492406, 1626426036647, 1626429722183, 1626433273664, 1626436849458, 1626440458241, 1626444063135];

timestamps.forEach(ts => {
  const date = new Date(ts);
  console.log(`${ts} → ${date.toLocaleString()} (UTC: ${date.toUTCString()})`);
});

直接复制到浏览器F12的控制台里运行,就能立刻看到转换结果,适合快速验证单个或少量时间戳。

小提醒

之前转换失败的核心原因应该是:很多工具默认只识别10位的秒级Unix时间戳,而你的是13位毫秒级,直接输入的话会得到错误的未来时间。只要记住先把毫秒转成秒(除以1000),或者用支持毫秒级的工具,就能轻松解决啦!

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

火山引擎 最新活动