最可靠的方法是直接修改 /etc/localtime 符号链接指向 /usr/share/zoneinfo/asia/shanghai,并执行 sudo hwclock --systohc 同步硬件时钟;timedatectl 是 systemd 系统推荐的统一管理工具。

直接改 /etc/localtime 符号链接最可靠
别折腾 tzselect 或往 ~/.profile 里塞 TZ=...,那只是影响当前 shell 环境,很多系统服务(比如 cron、rsyslog)根本不读它。真正生效的是 /etc/localtime 这个文件——它必须是符号链接,指向 /usr/share/zoneinfo/ 下的某个时区文件。
东八区就用上海:
sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
验证是否生效:date -R 输出末尾应为 +0800;ls -l /etc/localtime 应显示指向 Asia/Shanghai。
常见错误:
-
/etc/localtime是普通文件(非链接):删掉再重做ln -sf - 误用
Beijing:该路径不存在,/usr/share/zoneinfo/Asia/下只有Shanghai - CentOS 7+ 仍用老方法:虽然
timedatectl set-timezone Asia/Shanghai更现代,但底层仍是改这个链接,手动操作更可控
date -s 只改系统时间,不碰硬件钟
执行 date -s "2026-04-12 17:30:00" 后,date 显示新时间,但重启后大概率回退——因为 BIOS/UEFI 硬件时钟没同步。系统启动时会从硬件钟加载初始时间,除非你主动写回去。
必须补这一步:
sudo hwclock --systohc
等价命令:sudo clock -w。注意:如果系统配置了 UTC=true(见 /etc/sysconfig/clock),硬件钟存的是 UTC 时间,此时 hwclock --systohc 会自动换算;若设为 false(本地时间),则直接写入。
容易踩的坑:
- 只运行
date -s就以为完事了 - 在多系统共存机器(如 Linux+Windows)上强行设
UTC=false,会导致 Windows 时间错乱 -
hwclock --show和date差 8 小时?先确认时区是否正确,再查UTC设置
用 ntpdate 同步网络时间比开 ntpd 更轻量
不需要长期运行 NTP 服务时,ntpdate 是最快捷的校时方式。它一次请求、立即修正,适合脚本或临时修复。
常用命令:
sudo ntpdate -s time.windows.com<br>sudo ntpdate -s ntp.aliyun.com
-s 参数让输出静默,适合写进定时任务。阿里云和腾讯云都提供公开 NTP 服务器,延迟低、稳定性好。
注意点:
-
ntpdate要求系统时间不能偏差过大(通常 >1000 秒会拒绝同步),若偏差太大,先用date -s粗调到误差几百秒内再运行 - Ubuntu 20.04+ 默认不预装
ntpdate,需sudo apt install ntpdate;CentOS/RHEL 用yum install ntp(含ntpdate) - 不要在
ntpd运行时执行ntpdate,会冲突报错the NTP socket is in use
timedatectl 是 systemd 系统的统一入口
如果你用的是 CentOS 7、Ubuntu 16.04+、Debian 9+ 这类 systemd 发行版,timedatectl 是唯一推荐的交互式工具。它自动处理时区、NTP 开关、硬件钟模式,避免手动改多个配置文件。
关键操作:
- 查状态:
timedatectl status(看Local time、Universal time、RTC time是否一致) - 设时区:
sudo timedatectl set-timezone Asia/Shanghai - 开 NTP:
sudo timedatectl set-ntp true(等效于启用systemd-timesyncd)
它背后做的事包括:更新 /etc/localtime 链接、写入 /var/lib/systemd/clock、控制 systemd-timesyncd 服务。但要注意:systemd-timesyncd 功能比完整 ntpd 简单,仅支持客户端模式,不提供 NTP 服务端能力。
最后一句提醒:硬件时钟(RTC)是否设为 UTC,会影响所有跨系统时间显示,这个选项一旦选错,在双系统环境下几乎必然导致 Windows 时间每天快/慢 8 小时——改之前务必确认使用场景。











