尽管我尽力将纽约设置为美国东部标准时间 (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}]";