温馨提示×

centos时间戳如何比对

小樊
41
2026-09-08 19:16:57
栏目: 智能运维

在 CentOS(Linux)里,“时间戳比对”常见有几种场景,下面按最常见用法给你说明:


一、获取当前时间戳

1. 秒级时间戳(10位)

date +%s

2. 毫秒级时间戳(13位)

date +%s%3N

(CentOS 6 可能不支持 %N,可用 date +%s000 近似)


二、将时间戳转成可读时间

秒级时间戳

date -d @1700000000

指定格式

date -d @1700000000 "+%Y-%m-%d %H:%M:%S"

三、两个时间戳直接比对(数值比较)

时间戳本质是数字,可直接用 shell 比较:

t1=$(date -d "2024-01-01" +%s)
t2=$(date -d "2024-06-01" +%s)

if [ "$t1" -lt "$t2" ]; then
  echo "t1 早于 t2"
fi

四、比对文件时间戳(mtime / ctime / atime)

查看文件时间戳

stat file.txt

比较两个文件哪个更新

if [ file1 -nt file2 ]; then
  echo "file1 更新"
fi

查找 N 天前修改的文件

find /path -type f -mtime +7

五、日志中的时间戳比对(示例)

假设日志是:

2024-01-01 12:00:00

转成时间戳再比:

t_log=$(date -d "2024-01-01 12:00:00" +%s)
now=$(date +%s)

if [ "$now" -gt "$t_log" ]; then
  echo "日志时间已过去"
fi

六、常用对比符号总结

场景 用法
数值比较 -lt -gt -eq -ne
文件新旧 -nt -ot
时间转换 date -d @时间戳

如果你能说清楚具体要比对什么(比如:日志时间、文件时间、数据库时间、脚本里比较),我可以直接给你一段可用脚本。

0