温馨提示×

如何读取Ubuntu时间戳

小樊
45
2026-08-11 23:25:49
栏目: 智能运维

在 Ubuntu(Linux)中,常见的时间戳读取方式取决于你想要的时间戳类型(秒、毫秒、纳秒)以及当前时间还是文件时间。下面按场景整理。


一、读取当前系统时间戳

1️⃣ 当前时间(秒级时间戳)

date +%s

输出示例:

1700000000

2️⃣ 当前时间(毫秒级时间戳)

date +%s%3N

示例:

1700000000123

⚠️ 注意:%N 在某些 shell 或 date 版本中可能不支持(如 macOS 默认 date)。


3️⃣ 当前时间(纳秒级时间戳)

date +%s%N

二、读取指定时间的时间戳

1️⃣ 指定日期转时间戳

date -d "2024-01-01 12:00:00" +%s

也可以:

date --date="2024-01-01" +%s

三、读取文件的时间戳

1️⃣ 查看文件的修改时间(人类可读)

ls -l filename

2️⃣ 文件修改时间(Unix 时间戳)

stat -c %Y filename

常用 stat 格式:

  • %W:创建时间(秒)
  • %Y:修改时间(秒)
  • %X:访问时间(秒)

示例:

stat -c "Modify: %Y" filename

四、从时间戳反推时间

1️⃣ 秒级时间戳转时间

date -d @1700000000

2️⃣ 指定格式输出

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

五、在脚本中使用时间戳

start_time=$(date +%s)
# 执行一些操作
end_time=$(date +%s)

echo "耗时: $((end_time - start_time)) 秒"

六、系统级时间信息(进阶)

查看系统时钟

timedatectl

查看系统启动时间(uptime 时间戳)

cat /proc/stat | grep btime

总结速查表

需求 命令
当前秒时间戳 date +%s
当前毫秒时间戳 date +%s%3N
文件修改时间戳 stat -c %Y file
时间戳转时间 date -d @timestamp
指定时间转时间戳 date -d "时间" +%s

如果你有具体使用场景(如 shell 脚本、C/C++、Python、Docker、日志分析),我可以给你更针对性的示例。

0