У меня есть сервер centos, и я переписал время на NewYork по дате cmd. Также я изменяю в php.ini «date.timezone =« America / New_York »« Когда я вводим дату команды в командной оболочке. Я получаю реальное время в Нью-Йорке. Но когда я сделаю
эхо-дата («Ymd H: i: s»);
Время не так! Я всегда получаю на 6 часов меньше времени в Нью-Йорке. Пожалуйста помоги? Я уже пытался использовать date_default_timezone_set ('America / New_York'); в коде без помощи. ожидание ответа. Благодаря! Koren Or
я переписал время на NewYork по дате cmd
Команда date не предоставляет средства для изменения часового пояса. Вероятно, вы установили его в то время, когда оно было в новое время york, но как любой часовой пояс, на котором он уже был установлен, так что вы закончили время сервера на шесть часов (нечетное, это должно быть пять, если это UTC).
Установите параметр TZ environment variable export TZ=America/New_York
перед установкой времени с помощью команды date. Наличие неправильного времени сервера может привести к серьезным проблемам.
Вы можете инициализировать часовой пояс в своем приложении. Что происходит, когда вы это делаете?
date_default_timezone_set('America/New_York'); echo date("Ymd H:i:s");
Я меняю php.ini на "date.timezone =" America / New_York ""
Послушайте, это очень распространенная ошибка людей, которые не знакомы с формальной логикой.
Позвольте мне показать вам небольшой пример:
Предположим, вы просто положили деньги в карман.
Я сталкиваюсь и спрашиваю вас, есть ли у вас деньги в кармане. Вы говорите «Да».
Но вы не можете сказать это точно! Вы можете точно сказать, что вы положили его туда. Но в кармане может быть отверстие, или какой-то вор уже выбрал его, или вы просто смутили карманы. Итак, сначала вы должны проверить это и ответить позже.
Хотя в реальном мире это ничтожно мало, в программировании такое поведение становится критическим! Вы можете изменить любые настройки, но вы должны подтвердить, если ваши действия повлияли
Может возникнуть проблема перезагрузки apache или неправильный файл ini.file или некоторые настройки времени выполнения, перезаписывающие его.
Tl: др
Всегда проверяйте свои настройки, переменные, данные – если оно действительно содержит ожидаемое значение!
Не полагайтесь на то, что вы его где-то изменили.
Это звучит как проблема, которая фактически не устанавливает часовой пояс на вашем компьютере.
Во-первых, чтобы проверить, что PHP использует правильный часовой пояс, попробуйте следующее.
echo date("Ymd H:i:se");
Это должно дать вам «Америка / Нью-Йорк», если вы правильно установили его в своем сценарии.
Если это так, я бы попробовал описанную здесь процедуру, чтобы изменить время в вашей системе и посмотреть, работает ли это.
Я просто догадываюсь, но вы перезапустили свой сервер Apache?