8.3 时间日期类
1)基本语法
date [选项]... [+格式]
2) 选项说明
| 选项 | 功能 |
|---|---|
| -d<时间字符串> | 显示指定的“时间字符串”表示的时间,而非当前的时间 |
| -s<日期时间> | 设置系统日期时间 |
3)参数说明
| 参数 | 功能 |
|---|---|
| <+日期时间格式> | 指定显示时使用的日期时间格式 |
8.3.1 date 显示当前时间
1)基本语法
date (功能:显示当前时间)
date +%Y (功能:显示当前年份)
date +%m (功能:显示当前月份)
date +%d (功能:显示当前是哪一天)
date "+%Y-%m-%d %H:%M:%S" (功能:显示年月日时分秒)
2)示例


输出时间中间有空格,必须引号括住

date +%s 输出时间戳,从UTC标准时间,1970.1.1开始到当前时间所有秒的计数,可以用于缓存刷新,数据同步,历史追踪等。

8.3.2 date 显示非当前时间
1)基本语法
date -d '1 days ago' (功能:显示前一天的时间)
date -d '-1 days ago' (功能:显示明天的时间)
2)示例

8.3.3 date设置系统时间
1)基本语法
date -s 字符串时间
2)示例
date -s "2000-01-01 00:30:20" 设置时间

8.3.4 时间同步
在 Linux 系统中,时间同步对于日志对齐、证书验证、数据库复制等至关重要。常用方法包括 Chrony、NTP 以及 timedatectl 工具。
8.3.4.1 Chrony 同步(推荐生产环境)
步骤 1:安装 Chrony
sudo yum install chrony -y (CentOS/RHEL)
sudo apt install chrony -y (Ubuntu/Debian)
步骤 2:启动并设置开机自启
sudo systemctl start chronyd
sudo systemctl enable chronyd
步骤 3:立即同步时间
sudo chronyd -q 'server cn.pool.ntp.org iburst'
步骤 4:查看同步状态
chronyc tracking
chronyc sources -v
Chrony 在网络不稳定环境下表现优异,适合云服务器和虚拟机。
8.3.4.2 NTP 工具同步
步骤 1:安装 NTP
sudo yum install ntp -y(CentOS/RHEL)
sudo apt install ntp -y (Ubuntu/Debian)
步骤 2:启动服务
sudo systemctl start ntpd
sudo systemctl enable ntpd
步骤 3:手动同步
sudo ntpdate -u cn.pool.ntp.org
NTP 是传统方案,适合已有 NTP 架构的环境。
8.3.4.3 timedatectl 快速启用 NTP 同步
sudo timedatectl set-ntp true (启用自动同步)
timedatectl status (查看状态)
此方法简单快捷,适合 systemd 系统。
8.3.4.4 同步系统时间与硬件时间
修改系统时间后,应写入硬件时钟(RTC):
sudo hwclock --systohc --utc(系统时间写入硬件时钟(推荐 UTC))
sudo hwclock --hctosys(硬件时间加载到系统时间)
8.3.4.5 最佳实践
生产环境优先使用 Chrony 自动同步
硬件时钟建议使用 UTC,避免时区转换问题
定期检查 timedatectl status 确认同步正常
虚拟机需防止时间漂移,可增加同步频率
8.3.5 timedatectl 命令
timedatectl 是 systemd 系统和服务管理器提供的工具,用于查询和修改系统的时间、时区、NTP 同步行为。常用功能包括:
timedatectl status (查看当前时间、时区、硬件时钟状态)
timedatectl set-timezone Asia/Shanghai (设置时区)
timedatectl set-time "2026-05-04 12:00:00" (手动设置时间)
timedatectl set-ntp true/false (启用/禁用 NTP 同步)
8.3.6 cal 查看日历
1)基本语法
cal [选项] (功能:不加选项,显示本月日历)

2)选项说明
| 选项 | 功能 |
|---|---|
| 具体那一年 | 显示这一年的日历 |
3)示例
cal 查看当月日历

cal -3 查看最近三个月的日历

cal -m 周一放到前面的日历显示

cal 2022 查看2022年日历

