在 CentOS(以及大多数 Linux 系统)中,可以通过多种命令查看时间戳。下面按使用场景给你总结一下。
date +%s
示例输出:
1700000000
date +%s%3N
示例输出:
1700000000123
如果
date不支持%N(部分老版本),可用下面方式:
date +%s && python -c "import time; print(int(time.time()*1000))"
date -d "2024-01-01 12:00:00" +%s
输出:
1704081600
date -d "2024/01/01" +%s
date -d "Jan 1 2024" +%s
date -d "yesterday" +%s
date -d "1 hour ago" +%s
date -d @1700000000
输出示例:
Mon Nov 13 21:13:20 CST 2023
✅ 可以指定格式:
date -d @1700000000 "+%Y-%m-%d %H:%M:%S"
date -d @$(echo "1700000000123 / 1000" | bc)
或:
date -d @$((1700000000123 / 1000))
stat filename
示例:
stat test.log
输出包含:
Modify: 2024-01-01 10:00:00.000000000 +0800
stat -c %Y filename # 秒级
stat -c %y filename # 可读时间
who -b
uptime
date "+%Y-%m-%d %H:%M:%S.%3N"
date +%N
| 需求 | 命令 |
|---|---|
| 当前秒级时间戳 | date +%s |
| 当前毫秒时间戳 | date +%s%3N |
| 指定时间 → 时间戳 | date -d "时间" +%s |
| 时间戳 → 时间 | date -d @时间戳 |
| 文件时间戳 | stat 文件 |
| 文件修改时间戳 | stat -c %Y 文件 |
如果你需要 Shell 脚本中自动处理时间戳、日志时间转换、或 CentOS 6 / 7 / 8 差异说明,可以继续问我。