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

Bash中移除epoch时间戳毫秒值 正确转换为可读日期

Epoch时间戳用date命令转换返回53718年异常解决

从Elasticsearch中获取到的epoch时间戳结果为 1633036680022,尝试转换为人类可读日期时做了如下操作:

  • 使用epoch转换在线工具完成时间转换
  • 在终端中使用bash命令执行转换,执行的命令及返回结果如下:
$ date -d @1633036680022
Tuesday 15 November 53718 05:30:22 PM IST

异常原因

终端输出显示年份为53718,出现该异常的核心原因是:当前获取到的epoch时间戳为毫秒级格式,而Linux系统date命令的@入参默认接收秒级epoch时间戳,直接传入毫秒值相当于将时间数值放大了1000倍,最终计算出了远超出实际时间范围的错误结果。

解决方法

将毫秒级时间戳除以1000,处理为秒级epoch时间戳后再传入date命令即可得到正确的转换结果,不需要提前手动计算数值,直接在终端通过shell算术运算就能完成转换:

date -d @$((1633036680022 / 1000))

执行后返回的就是符合预期的2021年对应时间,具体显示的日期时分秒会受当前系统设置的时区影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.18 16:15:43