在 CentOS(及其他 Linux 发行版)中,时间戳通常指的是 Unix 时间戳(秒级,从 1970-01-01 00:00:00 UTC 起)。下面给你几种常用且实用的转换方式。
date 命令(最常用 ✅)date -d @1700000000
输出示例:
Sat Nov 14 22:13:20 CST 2020
如果需要指定格式:
date -d @1700000000 "+%Y-%m-%d %H:%M:%S"
输出:
2020-11-14 22:13:20
TZ=UTC date -d @1700000000
date +%s
date -d "2020-11-14 22:13:20" +%s
输出:
1700000000
如果是 UTC 时间:
date -u -d "2020-11-14 14:13:20" +%s
echo "1700000000123 / 1000" | bc
或直接:
date -d @$((1700000000123 / 1000))
date +%s%3N
如果 centos 不支持 %N:
date +%s && echo $(date +%s)000
for ts in 1700000000 1700001000 1700002000; do
date -d @$ts "+%Y-%m-%d %H:%M:%S"
done
date -d @timestampcoreutils如果你有 具体场景(日志分析、数据库时间、Nginx 日志、Java 毫秒时间等),可以告诉我,我可以给你更针对性的命令或脚本。