温馨提示×

ubuntu时间戳怎么对比

小樊
42
2026-09-01 06:44:13
栏目: 智能运维

在 Ubuntu(Linux)里,“时间戳”通常指的是 Unix 时间戳(从 1970-01-01 00:00:00 UTC 开始的秒数,或毫秒数)。对比时间戳常见有几种场景,下面按最常用方式给你说明。


一、在命令行直接对比时间戳(数字比较)

1️⃣ 两个时间戳相减

echo $(( 1700000000 - 1699990000 ))

输出的是相差的秒数。

2️⃣ 判断哪个更新

if [ 1700000000 -gt 1699990000 ]; then
  echo "前者更新"
fi

二、把时间戳转成可读时间再对比

秒级时间戳

date -d @1700000000

毫秒级时间戳

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

三、对比“文件时间戳”

Ubuntu 文件有三种时间:

  • mtime:内容修改时间(最常用)
  • ctime:状态改变时间
  • atime:访问时间

查看文件时间戳

stat file.txt

按时间找文件

# 1天内修改过
find . -mtime -1

# 比某个文件新
find . -newer old.txt

四、在 Shell 脚本里对比文件时间

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

五、用 Python 对比(推荐处理复杂逻辑)

import time

t1 = 1700000000
t2 = time.time()

print(t2 - t1)

六、常见坑提醒 ⚠️

  • 秒 vs 毫秒:10 位一般是秒,13 位一般是毫秒
  • 时区问题:date 默认用本地时区
  • UTC 对比:建议统一用 UTC
date -u -d @1700000000

如果你能说清楚:

  • 是 文件时间 还是 日志时间戳
  • 是 Shell / Python / C++
  • 是 秒还是毫秒

我可以给你更精确的对比方法。

0 踩