温馨提示×

centos如何转换13位时间戳

小樊
35
2026-08-03 04:47:20
栏目: 智能运维

CentOS(Linux) 下,将 13 位时间戳(毫秒级) 转换,常见有几种方式,取决于你想转成 可读时间 还是 10 位时间戳


一、13 位时间戳 → 可读时间(常用)

✅ 方法 1:使用 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 去掉毫秒

✅ 方法 2:使用 awk(保留毫秒)

echo 1700000000000 | awk '{print strftime("%Y-%m-%d %H:%M:%S", $1/1000)}'

✅ 方法 3:使用 python(最通用)

python -c "import datetime; print(datetime.datetime.fromtimestamp(1700000000000/1000))"

输出:

2023-11-14 22:13:20

二、13 位时间戳 → 10 位时间戳

echo $((1700000000000/1000))

输出:

1700000000

三、可读时间 → 13 位时间戳

✅ 方法 1:date + bc

date +%s%3N

⚠️ 需要 date 支持 %N(CentOS 7+ 通常支持)


✅ 方法 2:python

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 / 脚本中使用,可以贴出来,我可以帮你写完整命令。

0