Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Дата


Автор: Black_leopard 7.11.2006, 16:59
 я вывожу дату таким образом 
Код

echo date("d.m.Y H:i");

но вот почему-то он выводит время без учета попровки на GMT (т.е. у меня на компьютере время 19.50 и GMT +6.00 стоит, а он выводит 13.50. 
Но вот код
Код

echo date("Z"); //должен выводить время в секундах от GMT

выводит ноль. 
  Подскажите, пожалуйста, как быть без физического задания попровки на GMT (в конфигах например).

Автор: SelenIT 7.11.2006, 18:22
Странно, по этим признакам, как раз в конфиге и установлено нулевое смещение. Потому что вообще-то date должен давать локальное время, для GMT есть gmdate. Если они выдают одно и то же - видимо, так и есть.

Автор: Black_leopard 7.11.2006, 18:49
а в чем может быть ошибка?

Автор: SelenIT 7.11.2006, 18:55
Black_leopard, с ходу трудно сказать. Что показывает Default timezone в выводе phpinfo()?

Автор: Black_leopard 7.11.2006, 18:59
У меня стоит UTC

Автор: SelenIT 7.11.2006, 21:49
Black_leopard, вот и объяснение - UTC то же самое, что GMT, Ваш PHP настроен показывать текущее время по Гринвичу. Придется все-таки править конфиг (если сервер Ваш) или просить об этом админа хостинга (либо менять хостинг). Или вычислять поправку в скриптах, вручную определяя период летнего/зимнего времени... но, наверное, до такого лучше дело не доводить.

Автор: Black_leopard 8.11.2006, 11:36
SelenIT, подскажи, пожалуйста, что надо написать чтобы не по гринвичу ставил время, а такое какое сейчас у меня стоит

Автор: Black_leopard 8.11.2006, 12:00
А, все спасибо, я нашел
надо в скрипте писать date_default_timezone_set("Asia/Novosibirsk");

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)