奇怪的 CentOS 服务器行为时区

奇怪的 CentOS 服务器行为时区

我已经购买了 CentOS 6.8 专用服务器以从共享主机迁移,但我遇到了时区无法正确显示的问题。

我已将php.ini时区更改为Europe/Dublin- 但不起作用

我已将httpd.conf时区更改为Europe/Dublin- 但不起作用

我正在尝试更改实际的 CentOS 时区,但事情却变得奇怪。我将时区更改为Europe/DublinCST(这是默认设置),它似乎认为Europe/DublinGMT+14

请参阅下面的图片链接。第二个日期应为 2017 年 1 月 7 日星期六 07:48:11 GMT。

奇怪的服务器时区情况

答案1

CST 时区是 GMT -6,因此如果 CST 时间是 15:47,那么 GMT 时间就是 21:47。

如果您说截屏时的时间应该是早上 07:48,那么您的服务器时间不正确,您需要同步它。

运行此命令来同步时间以更正一个:

ntpdate -s time.nist.gov

您的服务器上可能根本没有ntp安装,在这种情况下您需要使用以下命令进行安装:

yum install ntp ntpdate ntp-doc

并启动NTP服务来保持时间同步:

/etc/init.d/ntpd start

另外,请确保将 NTP 服务设置为在启动时自动启动:

chkconfig ntpd on

答案2

我认为根本问题是“CST”时区名称不明确。它可以代表中部标准时间、中国标准时间和古巴标准时间。

[me@risby ~]$ export TZ=GMT ; date
Sat  7 Jan 09:21:31 GMT 2017
[me@risby ~]$ export TZ=US/Central ; date
Sat  7 Jan 03:21:31 CST 2017
[me@risby ~]$ export TZ=ROC ; date
Sat  7 Jan 17:21:31 CST 2017
[me@risby ~]$ export TZ=America/Havana ; date
Sat  7 Jan 04:21:31 CST 2017

(我知道中华民国不是中华人民共和国,但是他们保持相同的时间,而且我无法立即在我的 中找到一个明确的 PRC 特定时区/usr/share/zoneinfo。)

所以我怀疑你认为你的系统时钟是中国标准时间,因此期望格林威治标准时间是八小时在后面(0748GMT),而我的猜测是,现在是中部标准时间,比格林威治标准时间早 6 个小时(2148GMT)。后一种解释与您向我们展示的内容一致。

因此,请将系统时区设置为您想要的时区,最好使用地理时区而不是基于缩写如果系统时钟错误,请进行设置(最好使用 NTP,它完全基于 UTC,不会嵌入任何这些问题,并且会使时钟保持同步)。

答案3

我觉得这没问题。都柏林 (UTC+0) 目前比 CST (UTC-6) 早 6 小时。执行操作时 CST 时间为 15:47。操作后时间为 21:48。时差是正确的。

相关内容