# 查看当前系统时间
date
# 查看硬件时钟时间
hwclock --show
# 查看当前时区设置
timedatectl
ls -l /etc/localtime
# 启用NTP时间同步
sudo timedatectl set-ntp true
# 查看NTP服务状态
timedatectl status
# 安装ntpdate(如未安装)
sudo apt install ntpdate # Debian/Ubuntu
sudo yum install ntpdate # CentOS/RHEL
# 手动同步时间
sudo ntpdate pool.ntp.org
# 设置系统时间(格式: YYYY-MM-DD HH:MM:SS)
sudo date -s "2023-11-15 14:30:00"
# 将系统时间同步到硬件时钟
sudo hwclock --systohc
sudo dpkg-reconfigure tzdata # Debian/Ubuntu
sudo tzselect # 其他发行版
# 设置时区(例如亚洲/上海)
sudo timedatectl set-timezone Asia/Shanghai
# 或者创建符号链接
sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 检查chronyd或ntpd服务状态
systemctl status chronyd
systemctl status ntpd
# 启动时间同步服务
sudo systemctl start chronyd
sudo systemctl enable chronyd
# 对于VMware虚拟机
sudo vmware-toolbox-cmd timesync enable
# 对于VirtualBox虚拟机
VBoxManage guestproperty set <vmname> "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold" 10000
Windows和Linux对硬件时钟的解释不同(UTC vs localtime):
# 让Linux将硬件时钟视为本地时间(不推荐)
sudo timedatectl set-local-rtc 1
# 更好的解决方案是配置Windows使用UTC:
# 在Windows中运行: reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
# 安装并配置chrony(更现代的NTP实现)
sudo apt install chrony # Debian/Ubuntu
sudo yum install chrony # CentOS/RHEL
# 编辑配置文件(通常不需要修改)
sudo nano /etc/chrony/chrony.conf
# 重启服务
sudo systemctl restart chronyd
sudo systemctl enable chronyd
通过以上方法,您应该能够解决大多数Linux系统时间错误的问题。对于生产环境,建议使用NTP服务保持时间持续同步。