奇怪的 CentOS 服务器行为时区

Sha*_*ley 5 linux timezone centos6

我购买了一台 CentOS 6.8 专用服务器来从共享主机迁移,但我遇到了时区显示不正确的问题。

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

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

我正在尝试更改实际的 CentOS 时区,这就是它变得奇怪的地方。我将时区更改为Europe/Dublinfrom CST(这是默认值),它似乎认为Europe/DublinGMT+14.

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

奇怪的服务器时区情况

rAl*_*len 10

CST 时区是 GMT -6,所以如果 CST 时间是 15:47,那么 GMT 时间是 21:47。

如果你说截图的时候应该是早上07:48,那么你的服务器时间不对,需要同步。

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

ntpdate -s time.nist.gov
Run Code Online (Sandbox Code Playgroud)

ntp您的服务器上可能根本没有安装,在这种情况下,您需要安装它:

yum install ntp ntpdate ntp-doc
Run Code Online (Sandbox Code Playgroud)

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

/etc/init.d/ntpd start
Run Code Online (Sandbox Code Playgroud)

还要确保将 NTP 服务设置为在引导时自动启动:

chkconfig ntpd on
Run Code Online (Sandbox Code Playgroud)


Mad*_*ter 5

我认为潜在的问题是“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
Run Code Online (Sandbox Code Playgroud)

(我知道中华民国不是中华人民共和国,但他们保持相同的时间,我无法立即将手放在我的/usr/share/zoneinfo. 中明确的中华人民共和国特定时区。)

所以我怀疑你认为你的系统时钟是中国标准时间,因此预计 GMT 会那个 (0748GMT) 晚八小时,而我的猜测是它在中部标准时间,这让 GMTGMT早了六个小时其中(2148GMT)。后一种解释与您向我们展示的一致。

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