温馨提示×

centos时间戳怎样转字符串

小樊
44
2026-07-19 09:17:24
栏目: 智能运维

CentOS(Linux) 中,把 时间戳(秒级)转成可读字符串,常用有下面几种方式。


一、使用 date 命令(最常用 ✅)

1️⃣ 秒级时间戳 → 字符串

date -d "@1700000000"

输出示例:

Fri Nov 14 22:13:20 CST 2023

2️⃣ 指定输出格式

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

输出:

2023-11-14 22:13:20

常用格式符:

  • %Y
  • %m
  • %d
  • %H
  • %M
  • %S

二、毫秒时间戳(13位)处理

date 只支持秒,需要去掉后三位:

ts=1700000000123
date -d "@${ts:0:10}" "+%Y-%m-%d %H:%M:%S"

三、在 Shell 脚本中使用

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

四、使用 awk(不依赖 date)

echo 1700000000 | awk '{print strftime("%Y-%m-%d %H:%M:%S", $1)}'

⚠️ 注意:awkstrftime 在某些老版本可能不支持。


五、当前时间 → 时间戳(反向)

date +%s

六、环境变量方式(不推荐但可用)

export TZ=Asia/Shanghai
date -d "@1700000000"

✅ 推荐总结

场景 推荐方式
秒级时间戳 date -d "@时间戳"
指定格式 date -d "@时间戳" "+%F %T"
脚本中 $(date -d "@ts" ...)
毫秒时间戳 截取前 10 位

如果你是在 日志分析 / shell 脚本 / crontab 中使用,可以告诉我具体场景,我可以给你更合适的写法。

0