Вы заметили, что функция date ()
работает в 2 раза быстрее , чем обычно, если вы устанавливаете фактический часовой пояс внутри своего скрипта перед любым вызовом date ()
? Мне это очень любопытно.
Посмотрите на этот простой фрагмент кода:
Он просто вызывает функцию date ()
, используя цикл for
100 000 раз. У меня всегда получается около 1,6 секунды (Windows, PHP 5.3.5), но…
Если я снова установлю тот же часовой пояс, добавив одну абсурдную строку перед запуском:
date_default_timezone_set(date_default_timezone_get());
Я получу время ниже 800 мс ; ~ В 2 раза быстрее (тот же сервер).
Я искал какое-либо разумное объяснение этому поведению, но безуспешно. С моей точки зрения, эта дополнительная строка бесполезна, но PHP со мной не согласен.
Я пробовал этот тест на двух серверах Linux (разные версии PHP) и получил разные результаты, но в пропорции ~ 6: 1 .
Примечание: date.timezone свойство в php.ini было правильно настроено (Европа / Париж).
Я искал здесь связанные вопросы и не нашел ничего похожего. Я также проверил руководство для функции date_default_time_zone () @ php.net и обнаружил, что я не единственный, кто это заметил, но до сих пор не могу понять, почему это происходит?
Кто-нибудь?