timedatectl 显示错误的本地时间

timedatectl 显示错误的本地时间

这是我的 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"

相关内容