目录
1. 查看时间
1.1 查看系统时间
date
得到结果
Thu Jul 24 11:43:37 CST 2025
1.2 查看硬件时钟时间
硬件时钟是主板上的一块独立芯片,关机也能保持时间计数
hwclock --show
# 效果等于
# hwclock -r
得到结果
2025-07-24 11:44:15.790487+08:00
1.3 查看设备时区
timedatectl
得到结果
Local time: Thu 2025-07-24 12:57:50 CST
Universal time: Thu 2025-07-24 04:57:50 UTC
RTC time: Thu 2025-07-24 04:57:51
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
NTP service: n/a
RTC in local TZ: no
2. 设置时间
2.1 设置系统时间
sudo date -s "20250724 14:30:00"
# 或者单独设置日期和时间
# sudo date +%Y%m%d -s "20250724"
# sudo date +%T -s "14:30:00"
再查看时间
Thu Jul 24 14:30:04 CST 2025
2.2 设置时区
查看支持的时区列表
timedatectl list-timezones
# 会返回当前设备支持的时区列表,列表过长不再展示
再设置时区到重庆
sudo timedatectl set-timezone Asia/Chongqing
得到结果
Local time: Thu 2025-07-24 14:38:45 CST
Universal time: Thu 2025-07-24 06:38:45 UTC
RTC time: Thu 2025-07-24 05:08:59
Time zone: Asia/Chongqing (CST, +0800)
System clock synchronized: no
NTP service: n/a
RTC in local TZ: no
2.2 系统时钟同步到硬件
运行以下命令即可
sudo hwclock --systohc
# 等同于
# sudo hwclock -w
2.3 硬件时钟读取到系统
运行以下命令即可:
sudo hwclock --hctosys
# 等同于
# sudo hwclock -s
3. 其他支持
3.1 硬件时钟使用UTC
sudo timedatectl set-local-rtc 0
3.2 硬件时钟使用本地时间
sudo timedatectl set-local-rtc 1
4. 建议:使用timedatectl
timedatectl是systemd生态系统的一部分,它会自动同步所有系统组件的时间设置
4.1 和 date -s 的区别
使用date -s只修改系统时钟,而timedatectl会:
- 更新系统时钟
- 自动同步到硬件时钟(RTC)
- 通知所有系统服务时间已变更
- 处理时区转换逻辑
4.2 自动协调NTP服务
使用date -s手动修改时间可能导致NTP服务异常重置你的设置
timedatectl会自动禁用NTP同步(临时)直到你完成手动设置
4.3 自动处理时区转换
sudo timedatectl set-timezone Asia/Shanghai
sudo timedatectl set-time "14:30:00" # 明确知道这是上海时间
4.4 最佳实践建议
# 设置时区(优先步骤)
sudo timedatectl set-timezone Asia/Shanghai
# 设置时间(自动同步RTC)
sudo timedatectl set-time "14:30:00"
# 验证结果
timedatectl
hwclock --show
浙公网安备 33010602011771号