温馨提示×

centos如何计算时间戳

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

CentOS(Linux) 里计算时间戳,常见有 秒级时间戳毫秒级时间戳,下面按使用场景给你总结。


一、获取当前时间戳

1️⃣ 秒级时间戳(最常用)

date +%s

示例:

$ date +%s
1700000000

2️⃣ 毫秒级时间戳

date +%s%3N

示例:

$ date +%s%3N
1700000000123

✅ 如果 date 不支持 %N(如老版本),可改用下面方式


二、指定时间转时间戳

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

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

示例:

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

2️⃣ 指定日期(默认 00:00:00)

date -d "2024-01-01" +%s

3️⃣ 毫秒级时间戳

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

三、时间戳转可读时间

1️⃣ 秒级时间戳转时间

date -d @1704096000

示例:

$ date -d @1704096000
Mon Jan  1 12:00:00 CST 2024

2️⃣ 指定输出格式

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

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

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

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

输出:

7200

五、Shell 脚本中常用写法

#!/bin/bash
now=$(date +%s)
echo "当前时间戳: $now"

六、常见问题

❓ CentOS 6 / 老版本 date 不支持 %N

解决方案:

date +%s

或安装 coreutils 新版本(不推荐在老系统折腾)


七、总结速查表

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

如果你有 具体场景(比如:定时任务、日志时间计算、脚本、毫秒精度、时区问题),可以直接告诉我,我给你写完整示例。

0