CentOS - 为什么 NY/EST 时区被视为 MST?

CentOS - 为什么 NY/EST 时区被视为 MST?

尽管我尽力将纽约设置为美国东部标准时间 (EST),但服务器似乎认为纽约是 MST。这到底是怎么回事?纽约时间实际上是美国东部标准时间下午 2:22,但我的服务器却比纽约早了 3 个小时。我以为可能是 zoneinfo 文件过时了,所以我运行了 yum update tzdata,但没有任何可更新的内容。

这是我的时间设置:

复制EST文件区域后

# rm /etc/localtime; cp /usr/share/zoneinfo/EST /etc/localtime

也尝试过

# rm /etc/localtime; cp /usr/share/zoneinfo/US/Eastern /etc/localtime

# rm /etc/localtime; cp /usr/share/zoneinfo/America/New_York /etc/localtime

我设置了系统时钟

# cat /etc/sysconfig/clock
ZONE="America/New_York"
UTC=false
ARC=false

我运行 tzselect

Therefore TZ='America/New_York' will be used.
Local time is now:      Fri Sep 27 11:22:56 MST 2013.
Universal Time is now:  Fri Sep 27 18:22:56 UTC 2013.
Is the above information OK?
1) Yes
2) No
#? (canceled)

运行 ntpdate

# ntpdate 0.centos.pool.ntp.org
adjust time server 199.30.140.74 offset 0.006327 sec

系统时间不正确:

# date
Fri Sep 27 11:22:31 MST 2013

硬件时钟反映错误的系统时间:

# hwclock --show
Fri 27 Sep 2013 11:22:37 AM MST  -0.297177 seconds

Apache 时间也错误:

09/27/2013 11:22:26am [America/New_York]

代码:

date_default_timezone_set('America/New_York');
$z = date_default_timezone_get();
$date = new DateTime();
echo $date->format('m/d/Y H:i:sa') . " [{$z}]";

相关内容