温馨提示×

centos怎么将日期转时间戳

小樊
35
2026-08-03 04:34:19
栏目: 智能运维

在 CentOS(以及大多数 Linux 系统)中,可以使用 date 命令 将日期转换为时间戳(Unix timestamp,单位:秒)。下面给你几种常见用法。


一、将当前时间转为时间戳

date +%s

输出示例:

1700000000

二、将指定日期转为时间戳

1️⃣ 基本用法

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

输出:

1704067200

2️⃣ 不同日期格式示例

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

三、指定时区转换(常见坑)

默认使用系统时区,如果你需要 UTC 时间

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

四、毫秒时间戳(13 位)

date +%s%3N

如果系统不支持 %N(如部分旧版本):

date +%s | awk '{print $1"000"}'

五、将时间戳转回日期

date -d @1704067200

或指定格式:

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

六、在 Shell 脚本中使用

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

七、注意事项(CentOS 7 / 8)

  • date -dGNU date,CentOS 默认支持
  • ❌ 如果是 BusyBox / Alpine,不支持 -d,需要其他方式

如果你有 具体日期字符串(比如日志、文件名、数据库时间),可以贴出来,我可以帮你写精确转换命令。

0