这是我的 timedatectl 命令在 proxmox 虚拟机上的输出,该虚拟机在新西兰的服务器上运行,具有静态 IP:
$ timedatectl
Local time: Wed 2023-11-01 16:01:30 UTC
Universal time: Wed 2023-11-01 16:01:30 UTC
RTC time: Wed 2023-11-01 16:01:30
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
即使时钟同步已打开并且 NTP 处于活动状态,为什么它仍显示错误的本地时间?有没有办法自动纠正这个问题,而不是通过手动设置时区?谢谢!
答案1
您似乎没有设置服务器的时区。当前设置为 UTC (" Time zone: Etc/UTC (UTC, +0000)
"),但您位于新西兰,因此应该显示05:01:30 NZDT
。
NTP 只与 UTC 同步,根据您发布问题的时间,我想说 UTC 时间看起来是正确的。
使用以下命令设置服务器的时区(作为 root 或使用sudo
):
timedatectl set-timezone NZ
如果您想让服务器以 UTC 模式运行,但将帐户的该时间呈现更改为本地新西兰时间,请不要管它,timedatectl
而是设置环境变量TZ
:
date # UTC => "Wed, 1 Nov 2023 16:35:15"
export TZ=NZ
date # NZ time (currently NZDT) => "Thu, 2 Nov 2023 05:35:15"