温馨提示×

centos时间戳怎样计算

小樊
45
2026-09-26 22:35:44
栏目: 智能运维

在 CentOS(以及通用的 Linux 系统)里,“时间戳”通常指 Unix 时间戳(Epoch Time),也就是从 1970-01-01 00:00:00 UTC 到某个时间点的秒数(或毫秒数)。

下面按常见场景说明怎么“计算”。


一、查看当前时间戳

1. 秒级时间戳(最常用)

date +%s

示例输出:

1719300000

2. 毫秒级时间戳

date +%s%3N

3. 纳秒级时间戳

date +%s%N

二、指定时间 → 时间戳(时间转时间戳)

1. 指定日期时间

date -d "2024-06-25 12:00:00" +%s

2. 指定日期(默认 00:00:00)

date -d "2024-06-25" +%s

3. 几天前 / 几天后

date -d "3 days ago" +%s
date -d "next monday" +%s

三、时间戳 → 时间(时间戳转时间)

1. 秒级时间戳

date -d @1719300000

或格式化:

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

2. 毫秒时间戳(先除以1000)

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

四、计算两个时间之间的差值(时间戳运算)

示例:计算两个时间相差多少秒

start=$(date -d "2024-06-01 00:00:00" +%s)
end=$(date -d "2024-06-25 12:00:00" +%s)
echo $((end - start))

五、Shell 脚本中常见用法

now=$(date +%s)
sleep 10
later=$(date +%s)
echo "耗时:$(($later - $now)) 秒"

六、注意事项(很重要)

  • CentOS 的 date 默认使用 系统本地时区
  • 如果需要 UTC 时间:
date -u +%s
date -u -d @1719300000
  • 时间戳本身是 与时区无关的(基于 UTC)

如果你是想:

  • 在 Shell / Python / C 里计算
  • 做 日志时间差
  • 或 CentOS 7 / 8 特定问题

可以直接告诉我具体场景,我可以给你更精确的示例。

0 踩