在 Ubuntu(Linux)中,常见的时间戳读取方式取决于你想要的时间戳类型(秒、毫秒、纳秒)以及当前时间还是文件时间。下面按场景整理。
date +%s
输出示例:
1700000000
date +%s%3N
示例:
1700000000123
⚠️ 注意:
%N在某些 shell 或date版本中可能不支持(如 macOS 默认date)。
date +%s%N
date -d "2024-01-01 12:00:00" +%s
也可以:
date --date="2024-01-01" +%s
ls -l filename
stat -c %Y filename
常用 stat 格式:
%W:创建时间(秒)%Y:修改时间(秒)%X:访问时间(秒)示例:
stat -c "Modify: %Y" filename
date -d @1700000000
date -d @1700000000 "+%Y-%m-%d %H:%M:%S"
start_time=$(date +%s)
# 执行一些操作
end_time=$(date +%s)
echo "耗时: $((end_time - start_time)) 秒"
timedatectl
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、日志分析),我可以给你更针对性的示例。