在 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。
timestamp=1700000000000
date -d "@$((timestamp/1000))" "+%Y-%m-%d %H:%M:%S"
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"
date 可能不支持 -d "@timestamp",建议升级或换 CentOS 7+timestamp=1700000000
time_str=$(date -d "@$timestamp" "+%Y-%m-%d %H:%M:%S")
echo "$time_str"
如果你有 具体时间戳(秒/毫秒)、时区要求(UTC / CST) 或 在脚本中使用,可以贴出来,我可以帮你写完整示例。