温馨提示×

centos如何生成时间戳

小樊
38
2026-07-08 01:01:37
栏目: 智能运维

在 CentOS(以及大多数 Linux 系统)中,生成时间戳有多种方式,取决于你需要的时间戳类型(秒级、毫秒级、纳秒级)以及使用场景。以下是常见方法汇总:


一、生成 Unix 时间戳(秒级,最常用)

1️⃣ 使用 date 命令(推荐)

date +%s

输出示例:

1700000000

✅ 表示从 1970-01-01 00:00:00 UTC 到现在的秒数


二、生成毫秒级时间戳

2️⃣ date + 纳秒计算

date +%s%3N

输出示例:

1700000000123

⚠️ 需要 date 支持 %N(CentOS 7+ 一般支持)

或更兼容的写法

date +%s000

手动补毫秒(适合不要求真实毫秒的场景)


三、生成纳秒级时间戳

date +%s%N

输出示例:

1700000000123456789

四、生成指定格式的时间戳(可读时间)

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

输出:

2025-01-20 15:30:45

五、生成时间戳作为文件名(常用于脚本)

TS=$(date +%Y%m%d_%H%M%S)
echo "backup_$TS.tar.gz"

输出:

backup_20250120_153045.tar.gz

六、在 Bash 脚本中使用时间戳

#!/bin/bash

start=$(date +%s)
sleep 2
end=$(date +%s)

echo "耗时: $((end - start)) 秒"

七、查看指定时间的时间戳

指定时间 → 时间戳

date -d "2025-01-01 00:00:00" +%s

当前时间 ± N 天

date -d "7 days ago" +%s
date -d "next Monday" +%s

八、使用 awk 生成时间戳

awk 'BEGIN {print systime()}'

九、常见问题说明

✅ CentOS 6 注意事项

  • %N 不支持
  • 无法获取毫秒/纳秒

✅ UTC vs 本地时间

date -u +%s

总结速查表

需求 命令
秒级时间戳 date +%s
毫秒时间戳 date +%s%3N
纳秒时间戳 date +%s%N
可读时间 date "+%F %T"
文件名时间戳 date +%Y%m%d_%H%M%S

如果你是 做日志、做签名、做接口、做备份、做脚本,可以告诉我具体场景,我可以给你更合适的命令示例。

0