温馨提示×

centos怎样转换时间戳

小樊
110
2026-08-29 13:03:34
栏目: 智能运维

在 CentOS 里转换时间戳(Unix timestamp ↔ 时间)一般使用 date 命令即可。下面按常见场景说明。


一、时间戳 → 可读时间

1️⃣ 秒级时间戳(最常见)

date -d @1700000000

输出示例:

Tue Nov 14 22:13:20 CST 2023

如果只看日期:

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

2️⃣ 毫秒级时间戳(13 位)

毫秒要除以 1000:

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

或者:

date -d @$(echo "1700000000000/1000" | bc)

二、可读时间 → 时间戳

1️⃣ 当前时间转时间戳

date +%s

2️⃣ 指定时间转时间戳

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

输出:

1700000000

三、指定时区转换

UTC → 本地时间

date -u -d @1700000000

指定时区(如 UTC)

TZ=UTC date -d @1700000000

四、在脚本中使用变量

timestamp=1700000000
date -d @$timestamp

五、常见问题

❌ date: invalid date

  • 时间戳单位不对(毫秒忘了除 1000)
  • CentOS 6 不支持 -d @timestamp,需要升级或使用 awk

六、CentOS 6 兼容方案(无 -d @)

awk 'BEGIN {print strftime("%F %T", 1700000000)}'

如果你有 具体时间戳或场景(比如日志、数据库、Shell 脚本),我可以帮你写完整示例。

0 踩