在 CentOS(Linux) 下,将 13 位时间戳(毫秒级) 转换,常见有几种方式,取决于你想转成 可读时间 还是 10 位时间戳。
date(推荐)CentOS 7+ 支持毫秒:
date -d @$((1700000000000/1000)) +"%Y-%m-%d %H:%M:%S"
示例:
ts=1700000000000
date -d @$((ts/1000)) +"%Y-%m-%d %H:%M:%S"
输出:
2023-11-14 22:13:20
⚠️ 注意:
date 只支持秒级时间戳/1000 去掉毫秒awk(保留毫秒)echo 1700000000000 | awk '{print strftime("%Y-%m-%d %H:%M:%S", $1/1000)}'
python(最通用)python -c "import datetime; print(datetime.datetime.fromtimestamp(1700000000000/1000))"
输出:
2023-11-14 22:13:20
echo $((1700000000000/1000))
输出:
1700000000
date +%s%3N
⚠️ 需要 date 支持 %N(CentOS 7+ 通常支持)
python -c "import time; print(int(time.time()*1000))"
| 类型 | 位数 | 示例 |
|---|---|---|
| 秒级时间戳 | 10 | 1700000000 |
| 毫秒级时间戳 | 13 | 1700000000000 |
| 微秒级时间戳 | 16 | 1700000000000000 |
| 场景 | 推荐方式 |
|---|---|
| 快速转换 | date -d @$((ts/1000)) |
| 保留毫秒 | python |
| 脚本通用 | python |
| 当前时间 | date +%s%3N |
如果你有 具体 13 位时间戳 或 在 shell / crontab / 脚本中使用,可以贴出来,我可以帮你写完整命令。