温馨提示×

centos怎么转换时间戳

小樊
35
2026-07-08 00:55:36
栏目: 智能运维

CentOS(以及大多数 Linux 系统)中,转换时间戳(Unix timestamp)常用 date 命令。下面按常见场景说明。


一、时间戳 → 可读时间

1️⃣ 秒级时间戳(10 位)

date -d @1700000000

示例:

date -d @1700000000
# 输出类似:
# Wed Nov 15 06:13:20 CST 2023

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

需要除以 1000:

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

或:

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

二、可读时间 → 时间戳

1️⃣ 当前时间转时间戳

date +%s

输出示例:

1700000123

2️⃣ 指定时间转时间戳

date -d "2023-11-15 12:00:00" +%s

三、指定时区转换

转为 UTC 时间

date -u -d @1700000000

指定时区(如 UTC+8)

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

四、格式化输出时间

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

常用格式符:

  • %Y
  • %m
  • %d
  • %H 小时
  • %M 分钟
  • %S

五、在脚本中使用

timestamp=1700000000
time=$(date -d @$timestamp "+%Y-%m-%d %H:%M:%S")
echo $time

六、如果 date -d 不可用(极少见)

企业旧版 CentOS 可使用 awk

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

如果你有:

  • ✅ 具体时间戳(10位 / 13位)
  • ✅ 日志格式
  • ✅ 批量转换需求

可以直接贴出来,我可以帮你写 一行或脚本 处理。

0