温馨提示×

centos怎么处理时间戳

小樊
56
2026-09-24 01:21:07
栏目: 智能运维

在 CentOS(以及大多数 Linux 系统)里,“处理时间戳”通常指 Unix 时间戳(秒/毫秒)与日期时间互转、计算、格式化 等。下面按常见场景说明。


一、查看当前时间戳

1. 当前秒级时间戳

date +%s

2. 当前毫秒级时间戳

date +%s%3N

(CentOS 7+ 一般支持 %N)


二、时间戳 → 日期时间

1. 秒级时间戳

date -d @1700000000

指定格式:

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

2. 毫秒级时间戳

先转成秒:

date -d @$(echo "1700000000000 / 1000" | bc)

或:

date -d "1970-01-01 UTC 1700000000000 milliseconds"

三、日期时间 → 时间戳

date -d "2024-11-15 10:00:00" +%s

指定时区:

TZ=UTC date -d "2024-11-15 10:00:00" +%s

四、时间计算

1. 当前时间 + 1 天

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

2. 时间戳 + 1 小时

echo $(( $(date +%s) + 3600 ))

3. 两个时间戳差值(秒)

echo $(( t2 - t1 ))

五、Shell 脚本中处理时间戳

now=$(date +%s)
echo "当前时间戳: $now"

future=$((now + 86400))
echo "明天: $(date -d @$future)"

六、使用 awk / bc 处理

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

七、时区问题(很重要)

查看时区:

date
timedatectl

设置时区(CentOS 7+):

timedatectl set-timezone Asia/Shanghai

八、日志中的时间戳处理(常见)

例如 Nginx / 应用日志:

date -d @$(echo "1700000000" ) "+%F %T"

如果你能具体说一下:

  • 是 秒还是毫秒
  • 是 命令、脚本还是日志处理
  • 是否涉及 时区 / 数据库 / 程序语言

我可以给你更精确的 CentOS 示例。

0 踩