在 CentOS(Linux) 里计算时间戳,常见有 秒级时间戳 和 毫秒级时间戳,下面按使用场景给你总结。
date +%s
示例:
$ date +%s
1700000000
date +%s%3N
示例:
$ date +%s%3N
1700000000123
✅ 如果
date不支持%N(如老版本),可改用下面方式
date -d "2024-01-01 12:00:00" +%s
示例:
$ date -d "2024-01-01 12:00:00" +%s
1704096000
date -d "2024-01-01" +%s
date -d "2024-01-01 12:00:00" +%s%3N
date -d @1704096000
示例:
$ date -d @1704096000
Mon Jan 1 12:00:00 CST 2024
date -d @1704096000 "+%Y-%m-%d %H:%M:%S"
start=$(date -d "2024-01-01 10:00:00" +%s)
end=$(date -d "2024-01-01 12:00:00" +%s)
echo $((end - start))
输出:
7200
#!/bin/bash
now=$(date +%s)
echo "当前时间戳: $now"
%N解决方案:
date +%s
或安装 coreutils 新版本(不推荐在老系统折腾)
| 需求 | 命令 |
|---|---|
| 当前秒级时间戳 | date +%s |
| 当前毫秒时间戳 | date +%s%3N |
| 指定时间 → 时间戳 | date -d "时间" +%s |
| 时间戳 → 时间 | date -d @时间戳 |
| 时间差 | 两个 %s 相减 |
如果你有 具体场景(比如:定时任务、日志时间计算、脚本、毫秒精度、时区问题),可以直接告诉我,我给你写完整示例。