温馨提示×

centos时间戳如何转字符串

小樊
47
2026-08-03 04:49:22
栏目: 智能运维

CentOS(Linux) 中,把 时间戳(秒或毫秒)转为字符串(日期时间),常用的是 date 命令。下面按常见场景说明。


一、秒级时间戳 → 字符串(最常用)

示例时间戳

timestamp=1700000000

转换命令

date -d "@1700000000"

指定格式

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

输出示例:

2023-11-14 22:13:20

二、毫秒级时间戳 → 字符串

Linux date 只认 ,毫秒需要除以 1000。

方法 1:bash 算术

timestamp=1700000000000
date -d "@$((timestamp/1000))" "+%Y-%m-%d %H:%M:%S"

方法 2:awk

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

三、当前时间戳 → 字符串(反向参考)

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

当前时间戳:

date +%s

四、常用时间格式符

格式 含义
%Y
%m
%d
%H 小时
%M 分钟
%S
%F 等价于 %Y-%m-%d
%T 等价于 %H:%M:%S

示例:

date -d "@1700000000" "+%F %T"

五、CentOS 6 / CentOS 7 注意事项

  • CentOS 6 的 date 可能不支持 -d "@timestamp",建议升级或换 CentOS 7+
  • 若系统时间异常,结果也会异常

六、Shell 脚本中示例

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

如果你有 具体时间戳(秒/毫秒)时区要求(UTC / CST)在脚本中使用,可以贴出来,我可以帮你写完整示例。

0