温馨提示×

ubuntu时间戳怎样精确到毫秒

小樊
36
2026-10-10 02:51:52
栏目: 智能运维

在 Ubuntu(Linux)里,时间戳精确到毫秒通常有两种常见需求:
1️⃣ 获取当前时间的毫秒级时间戳
2️⃣ 格式化时间,显示到毫秒

下面分别说明。


一、获取当前毫秒级时间戳(10 位秒 + 3 位毫秒)

✅ 方法 1:date(最常用)

date +%s%3N

示例输出:

1719301234567

说明:

  • %s:秒级时间戳
  • %3N:毫秒(3 位)

⚠️ 注意:某些老版本 date(如 coreutils < 8.0)不支持 %N


✅ 方法 2:使用 python(最稳妥)

python3 -c 'import time; print(int(time.time()*1000))'

✅ 方法 3:使用 awk

awk 'BEGIN { print int(sys2mil()) }'  # 不通用

更推荐:

date +%s%3N

二、显示当前时间(包含毫秒)

✅ 显示到毫秒

date +"%Y-%m-%d %H:%M:%S.%3N"

输出示例:

2025-06-25 14:30:45.123

三、将毫秒时间戳转换为可读时间

✅ 毫秒时间戳 → 时间

date -d @1719301234.567 "+%Y-%m-%d %H:%M:%S.%3N"

注意:date 用的是秒,所以要除以 1000


四、Shell 变量中使用

TS=$(date +%s%3N)
echo "timestamp: $TS"

五、常见坑提醒

❌ 不要这样写(错误):

date +%s.%N   # 有些系统会得到空值

✅ 推荐:

date +%s%3N

如果你有 脚本场景 / 日志场景 / C/C++ / Java 时间戳互转 需求,也可以告诉我。

0 踩