#php #timezone
#php #Часовой пояс
Вопрос:
Почему следующее возвращает пустую строку:
$offset = -10; //UM10
echo timezone_name_from_abbr('', $offset * 3600, true); //empty string
Я использую PHP 5.3.0.
Спасибо всем за любую помощь.
Комментарии:
1. Возможно, в -10 нет именованного часового пояса, который переводит на летнее время? попробуйте удалить параметр ‘true’, чтобы летнее время не принималось во внимание при поиске.
Ответ №1:
Потому что вы установили для параметра перехода на летнее время значение true:
$ php -r "echo timezone_name_from_abbr('', -10 * 3600, false);"
Pacific/Honolulu
Комментарии:
1. Хм, я вижу 1. Откуда мне знать, что для часового пояса, который я еще не знаю и пытаюсь восстановить, нужно установить DST в значение false? Может быть, будет лучше, если я просто полностью проигнорирую летнее время?
2. @Abs хм, на самом деле bugs.php.net/44780 Я не вижу, чтобы ему присваивался разрешенный, и это точно соответствует вашей проблеме
3. Вау, с 2008 года. Черт возьми! Я думаю, что прокомментирую эту ошибку. Спасибо, что указали мне на это. Я думаю, что пока я просто исключу летнее время.