Кажется, что сервер думает, что Нью-Йорк - это MST, несмотря на все мои попытки установить EST. Что здесь происходит? Время в Нью-Йорке на самом деле 14:22 EST, но мой сервер завис за 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}]";