时区:主机。这意味着什么?

时区:主机。这意味着什么?

我知道有多种方法可以在 CentOS 主机上设置系统时区。我想知道的是这个时区的含义,它似乎是默认设置的,并由实用程序Host报告timedatectl

$timedatectl

      Local time: Tue 2019-04-02 13:13:25 CEST
  Universal time: Tue 2019-04-02 11:13:25 UTC
        RTC time: n/a
       Time zone: Host (CEST, +0200)
     NTP enabled: n/a
NTP synchronized: yes
 RTC in local TZ: no
      DST active: yes
 Last DST change: DST began at
                  Sun 2019-03-31 01:59:59 CET
                  Sun 2019-03-31 03:00:00 CEST
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  Sun 2019-10-27 02:59:59 CEST
                  Sun 2019-10-27 02:00:00 CET

当我将系统 timezeone 定义为更有意义的国家/城市设置时,这个Host时区设置对于特别是 java 应用程序来说似乎不够好,如下所示:

$ timedatectl 
      Local time: Tue 2019-04-02 13:32:05 CEST
  Universal time: Tue 2019-04-02 11:32:05 UTC
        RTC time: Tue 2019-04-02 13:32:05
       Time zone: Europe/Amsterdam (CEST, +0200)
    ....

user.timezoneJVM 通过将其系统属性设置为相同的国家/城市来使用它。然而,如果Host时区设置有效,JVM 会完全忽略这一点并设置 user.timezone为 GMT+01:00,这与Host (CEST, +0200) 我不同并使我感到困惑。总结以上

  1. 时区名称的含义是什么Host
  2. 为什么它不被 JVM 尊重
  3. 一旦我将时区更改为某个国家/城市,有没有办法将其重置回Host(如果这有意义的话)?

答案1

就我个人而言,我从未见过“主机”值,当您输入以下内容时是否有此条目:

timedatectl list-timezones | grep -i host

我认为不会,因为没有国家/城市的唯一值是“UTC”。为什么您不只使用 Europe/Amsterdam TZ ,它还采用 CEST 和 +2h00 GMT。

相关内容