温馨提示×

centos时间戳怎么对比

小樊
47
2026-09-02 17:24:11
栏目: 智能运维

在 CentOS(本质是 Linux)里,“时间戳对比”通常指 UNIX 时间戳(秒/毫秒)之间的比较或转换后比较。下面按常见场景给你说明。


一、什么是时间戳

UNIX 时间戳:

  • 秒级:1700000000
  • 毫秒级:1700000000000

二、命令行直接对比时间戳(数值比较)

1️⃣ 两个时间戳直接比大小

ts1=1700000000
ts2=1701234567

if [ "$ts1" -lt "$ts2" ]; then
  echo "ts1 早于 ts2"
fi

✅ 时间戳本质是数字,直接比较即可


三、当前时间戳获取

秒级

date +%s

毫秒级

date +%s%3N

四、时间戳 → 可读时间(对比更直观)

秒级

date -d @1700000000

毫秒级

date -d @$((1700000000000/1000))

五、可读时间 → 时间戳

date -d "2023-11-15 10:13:20" +%s

六、Shell 脚本中时间差对比

start=$(date +%s)
sleep 2
end=$(date +%s)

diff=$((end - start))
echo "耗时: ${diff} 秒"

七、日志中的时间戳对比(常见)

如果日志是:

2023-11-15 10:00:00
2023-11-15 10:05:00

转成时间戳再比:

t1=$(date -d "2023-11-15 10:00:00" +%s)
t2=$(date -d "2023-11-15 10:05:00" +%s)

echo $((t2 - t1))

八、用 awk 对比(日志/文件)

awk -F',' '$1 > 1700000000 {print}' file.log

九、常见坑

❌ 毫秒不能直接用 date -d @ ✅ 必须 /1000

❌ 时区影响显示,不影响时间戳大小


如果你有 具体场景(比如:日志对比、脚本判断超时、某个命令输出时间戳),可以直接贴出来,我可以给你写具体命令。

0 踩