温馨提示×

centos怎么计算时间戳

小樊
39
2026-08-18 09:24:40
栏目: 智能运维

CentOS(Linux) 里计算时间戳,常见有几种情况,下面按“最常用 → 进阶”给你系统说明。


一、获取当前时间戳(最常用)

1️⃣ 当前时间 → 秒级时间戳(10 位)

date +%s

示例:

$ date +%s
1700000000

2️⃣ 当前时间 → 毫秒级时间戳(13 位)

date +%s%3N

⚠️ 注意:

  • CentOS 6 / 老版本 date 不支持 %N
  • CentOS 7+ 一般支持

如果失败,可用:

date +%s000

二、指定时间 → 时间戳

1️⃣ 指定日期时间转时间戳

date -d "2024-01-01 12:00:00" +%s

输出:

1704081600

2️⃣ 支持的时间格式示例

date -d "2024-01-01" +%s
date -d "2024/01/01 12:00" +%s
date -d "Jan 1 2024" +%s

三、时间戳 → 时间(反向计算)

1️⃣ 秒级时间戳转时间

date -d @1700000000

输出:

Fri Nov 24 21:13:20 CST 2023

2️⃣ 指定格式输出

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

四、计算时间差(时间戳相减)

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

t1=$(date -d "2024-01-01 00:00:00" +%s)
t2=$(date -d "2024-01-02 00:00:00" +%s)
echo $((t2 - t1))

输出:

86400

五、脚本中常用写法(推荐)

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

六、CentOS 6 特别说明(老系统)

如果 date -d%N 不支持:

# 秒级时间戳
date +%s

# 毫秒级(不精确)
date +%s000

七、总结速查表

需求 命令
当前秒级时间戳 date +%s
当前毫秒时间戳 date +%s%3N
指定时间 → 时间戳 date -d "时间" +%s
时间戳 → 时间 date -d @时间戳
时间差 两个 %s 相减

如果你有 具体场景(比如:shell 脚本、定时任务、日志时间计算、毫秒精度、CentOS 6/7/8),可以直接说,我可以给你定制命令。

0