Страница 1 из 1

PHP Timezone

Добавлено: 22 фев 2012, 09:58
nerevar1n
Привет, Максим.
Попробуй у себя попробовать выполнить следующий код:
		
		date_default_timezone_set('Asia/Tbilisi');
		print(date("Y-m-d H:i:s") . "<br>");
		date_default_timezone_set('Europe/Moscow');
		print(date("Y-m-d H:i:s"));
Столкнулся на работе с проблемой, что время часовом поясе Eupore/Moscow не совпадает с реальным.
Люди подсказывают, что это зависит от того, с какими таймзонами был скомпилирован php.

О себе: WinXP SP3, стоит патч http://support.microsoft.com/kb/2570791/en-us,
PHP 5.2.17 из коробки с параметром date.timezone = "Europe/Moscow" в конфиге.

Дома еще протестирую на WIn7

Re: PHP Timezone

Добавлено: 22 фев 2012, 11:18
Максим
Да, PHP компилируется со своей Timezone Database, и естественно что разработчики PHP врятли обновляют сборку PHP 5.2.17 под windows всякий раз когда какому-либо "главному" вздумается поменять в стране время.

Сборка была компилирована 06 January 2011, а на другое время Россия перешла лишь 30 октября.

Это на Linux легко взять и обновить базу временных зон и потом пересобрать PHP. В Windows тут таких возможностей нет. Разве что если вы не гуру Visual Studio 2008.

Рад бы помочь, но нечем. Только если брать левую перекомпилированную сборку под windows где-то. Но я не знаю какие сайты такой php выкладывают и можно ли им доверять. Найдёте - подскажите.

Как костыль - используйте время Тбилиси :-)

Это еще только начало. В России опять вернуть старое время собираются. Вот смеху то будет, когда откомпилируют с обновленной базой, а Россия опять время поменяет. :lol:

Re: PHP Timezone

Добавлено: 22 фев 2012, 11:57
xoy
pecl install timezonedb

Re: PHP Timezone

Добавлено: 22 фев 2012, 12:12
nerevar1n
xoy писал(а):pecl install timezonedb
Да кстати, вот тут сорцы http://pecl.php.net/package/timezonedb которые можно собрать в dll и подключить в php.
This extension is a drop-in replacement for the builtin timezone database that
comes with PHP. You should only install this extension in case you need to get
a later version of the timezone database than the one that ships with PHP.

Re: PHP Timezone

Добавлено: 22 фев 2012, 12:33
Максим
xoy писал(а):pecl install timezonedb
На Windows такое не прокатит. Даже если пользователь смышлёный, установит PEAR и выполнит вашу команду + еще несколько команд по ходу установки, то в конце он упрётся в
ERROR: The DSP timezonedb.dsp does not exist.

Если знаете как это побороть, подскажите. Да и в любом случае, это ведь будет не портативный вариант.

Re: PHP Timezone

Добавлено: 22 фев 2012, 12:36
Максим
nerevar1n, если найдёте DLL которая будет на любой винде работать, подключим в проект.

Re: PHP Timezone

Добавлено: 22 фев 2012, 16:45
Максим
В продолжение темы: php_timezonedb.dll нашел, но самый свежий что есть в интернете - 2008 года. Сайт pecl4win.php.net мертвый, на pecl.php.net тоже ничего.