温馨提示×

centos怎么解析时间戳

小樊
36
2026-09-08 19:15:57
栏目: 智能运维

在 CentOS(以及大多数 Linux 发行版)上,“解析时间戳”通常指 把 Unix 时间戳(秒/毫秒)转换成人类可读时间,或者 反过来。下面按常见场景说明。


一、Unix 时间戳 → 可读时间

1️⃣ 使用 date 命令(最常用)

秒级时间戳(10 位)

date -d @1700000000

指定格式:

date -d @1700000000 "+%Y-%m-%d %H:%M:%S"

毫秒级时间戳(13 位)

date -d @$(echo "1700000000000 / 1000" | bc)

或:

date -d "1970-01-01 UTC 1700000000000 milliseconds"

2️⃣ 转换为本地时间 / UTC 时间

TZ=Asia/Shanghai date -d @1700000000
TZ=UTC date -d @1700000000

二、可读时间 → Unix 时间戳

1️⃣ 当前时间

date +%s        # 秒
date +%s%3N     # 毫秒(部分系统支持)

2️⃣ 指定时间

date -d "2023-11-15 00:00:00" +%s

UTC 时间:

date -u -d "2023-11-15 00:00:00" +%s

三、其他方式

Python(非常灵活)

python3 -c "import datetime; print(datetime.datetime.fromtimestamp(1700000000))"

毫秒:

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

四、常见坑提醒

  • CentOS 6 的 date 不支持 @时间戳(建议升级或用 Python)
  • 毫秒时间戳不能直接 @xxxxxx(必须 ÷1000)
  • 时区问题:默认是系统本地时区

如果你是指 日志中的时间戳解析程序里解析、或 特定格式(如 ISO8601),可以告诉我具体场景,我可以给你更精确的命令。

0