温馨提示×

怎么转换Ubuntu时间戳

小樊
58
2026-08-11 23:17:46
栏目: 智能运维

在 Ubuntu(Linux)里,“时间戳”通常指 Unix 时间戳(自 1970-01-01 00:00:00 UTC 起的秒数)。下面给你几种常见转换方式,基本都适用于 Ubuntu / Debian / 其他 Linux。


一、当前时间 → 时间戳

1️⃣ 使用 date

date +%s

示例:

$ date +%s
1700000000

二、时间戳 → 可读时间

1️⃣ 使用 date -d

date -d @1700000000

输出示例:

Fri Nov 10 22:13:20 CST 2023

2️⃣ 指定格式

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

输出:

2023-11-10 22:13:20

三、指定时区转换

查看 UTC 时间

date -u -d @1700000000

指定时区(如上海)

TZ='Asia/Shanghai' date -d @1700000000

四、字符串时间 → 时间戳

1️⃣ 指定时间字符串

date -d "2023-11-10 22:13:20" +%s

2️⃣ 中文时间(不推荐,容易出错)

date -d "2023年11月10日 22:13:20" +%s

⚠️ 不一定所有系统都支持中文格式


五、毫秒 / 微秒时间戳

毫秒时间戳 → 时间

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

当前毫秒时间戳

date +%s%3N

六、在脚本中使用

timestamp=$(date +%s)
echo "当前时间戳: $timestamp"

readable=$(date -d "@$timestamp" "+%Y-%m-%d %H:%M:%S")
echo "可读时间: $readable"

七、常见问题

❓ 为什么 date -d 报错?

date: invalid date

原因可能是:

  • 时间戳格式不对
  • 使用 @ 但没加数字
  • 系统语言导致字符串解析失败

如果你有 具体场景(比如 Python、Shell 脚本、日志分析、数据库时间转换),可以直接告诉我,我可以给你更精确的示例。

0