“太平洋/奥克兰”时间 = UTC 时间

“太平洋/奥克兰”时间 = UTC 时间

我一直在尝试修复 Ubuntu 16.04 主机上的时间,但无法更正时区。出于某种原因,Ubuntu 认为太平洋/奥克兰时区与 UTC 相同,并且没有 12 小时的偏移量。“太平洋/奥克兰”时区应该是 UTC +12

sudo dpkg-重新配置 tzdata

Current default time zone: 'Pacific/Auckland'  
Local time is now:      Tue Sep 26 09:08:37 UTC 2017.  
Universal Time is now:  Tue Sep 26 09:08:37 UTC 2017.  

timedatectl 状态

      Local time: Tue 2017-09-26 09:13:45 Pacific  
  Universal time: Tue 2017-09-26 09:13:45 UTC  
        RTC time: Tue 2017-09-26 09:13:45
       Time zone: Pacific/Auckland (Pacific, +0000)
 Network time on: no
NTP synchronized: no
 RTC in local TZ: yes

警告:系统配置为读取本地时区的 RTC 时间。
此模式无法完全支持。它会
在时区变化和夏令时调整方面产生各种问题。RTC
时间永远不会更新,它依赖于外部设施来维护它。
如果可能的话,通过调用
“timedatectl set-local-rtc 0”以 UTC 使用 RTC。

有人能告诉我如何解决这个问题吗?

刚刚做了

sudo ntpdate nz.pool.ntp.org  

并得到
25 Sep 22:38:17 ntpdate[1422]: step time server 130.217.226.49 offset -43211.035177 sec
并执行
date
Mon Sep 25 22:49:05 Pacific 2017
但是当前时间是上午 11:49。

答案1

找到问题了。我的 /usr/share/zoneinfo/NZ 被一个 rouge unit test 破坏了。“NZ”文件原本是一个二进制文件,后来被一个文本文件替换,文件内容为“NZST-12NZDT,M9.5.0,M4.1.0/3”。
我从另一台机器复制了 NZ 文件,问题就解决了。

timedatectl 状态

现在说:
当地时间:星期六 2017-09-30 02:33:09 NZDT
世界时间:星期五 2017-09-29 13:33:09 UTC
RTC 时间:星期五 2017-09-29 13:33:12
时区:太平洋/奥克兰 (NZDT, +1300)
网络时间开启:是
NTP 同步:否
本地 TZ 中的 RTC:否

相关内容