在 CentOS(以及其他 Linux 发行版)中,“时间戳”通常指 Unix 时间戳(自 1970-01-01 00:00:00 UTC 起到现在的秒数)。下面按常见使用场景给你说明。
datedate +%s
示例输出:
1700000000
awkawk 'BEGIN {print systime()}'
date -d @1700000000
或指定格式:
date -d @1700000000 "+%Y-%m-%d %H:%M:%S"
date -d @$((1700000000000/1000))
stat filename
示例输出包含:
ls -l filename
who -b
或更精确:
date -d "$(awk '{print $1}' /proc/stat | head -1)" +%s
(不推荐,实际推荐):
uptime -s
ps -eo pid,lstart,cmd | grep 进程名
如果你用的是 CentOS 7,以上命令全部适用。
如果你需要 纳秒级时间戳:
date +%s%N
| 需求 | 命令 |
|---|---|
| 当前时间戳 | date +%s |
| 时间戳转日期 | date -d @时间戳 |
| 文件时间 | stat file |
| 开机时间 | uptime -s |
| 毫秒时间戳 | date +%s%3N |
如果你有 具体场景(比如:日志时间、数据库时间、程序时间戳对比),可以告诉我,我可以给你更精确的命令或解释。