在 CentOS(Linux) 里计算时间戳,常见有几种情况,下面按“最常用 → 进阶”给你系统说明。
date +%s
示例:
$ date +%s
1700000000
date +%s%3N
⚠️ 注意:
%N如果失败,可用:
date +%s000
date -d "2024-01-01 12:00:00" +%s
输出:
1704081600
date -d "2024-01-01" +%s
date -d "2024/01/01 12:00" +%s
date -d "Jan 1 2024" +%s
date -d @1700000000
输出:
Fri Nov 24 21:13:20 CST 2023
date -d @1700000000 "+%Y-%m-%d %H:%M:%S"
t1=$(date -d "2024-01-01 00:00:00" +%s)
t2=$(date -d "2024-01-02 00:00:00" +%s)
echo $((t2 - t1))
输出:
86400
now=$(date +%s)
echo "当前时间戳: $now"
如果 date -d 或 %N 不支持:
# 秒级时间戳
date +%s
# 毫秒级(不精确)
date +%s000
| 需求 | 命令 |
|---|---|
| 当前秒级时间戳 | date +%s |
| 当前毫秒时间戳 | date +%s%3N |
| 指定时间 → 时间戳 | date -d "时间" +%s |
| 时间戳 → 时间 | date -d @时间戳 |
| 时间差 | 两个 %s 相减 |
如果你有 具体场景(比如:shell 脚本、定时任务、日志时间计算、毫秒精度、CentOS 6/7/8),可以直接说,我可以给你定制命令。