Forum Webscript.Ru
Программирование => PHP => Тема начата: D1g174LM4n14c от 13 Июля 2003, 16:08:43
-
Я пишу форум. Мне надо синхронизировать время на сервере с временем юзверей. То есть, они при регистрации указывают свой часовой пояс (пример: GMT +02:00) и мне нужно с помощью это "подсказки" выводить по всему форуму время, которое бы совпадало со временем пользователя. В PHP мануале я нашел возможность получить временное смещение на сервере с помощью date(\'O\') где O - Difference to Greenwich time in hours; e.g. "+0200". Но получаемый результат в формате "+0000" неудобно парсить, чтобы сделать из всего этого integer. Тогда я нашел другой выход - date(\'Z\') где Z - timezone offset in seconds (i.e. "-43200" to "43200"). С помощью этого я сделал следующее:
echo date(\'H:i:s\', time() - date(\'Z\')); // GMT
Этот код выводит время по Гринвичу.
Я бы хотел спросить, никто не находил более "приятного" варианта синхронизации времени сервера с пользовательским? Заранее благодарен.
зы. Смотрел код vBulletin\'а - там, имхо, такой геммор написали для всего этого...
-
Протупил...
Отбой. Ложная тревога :)
заменил код
date(\'H:i:s\', time() - date(\'Z\'));
на
gmdate(\'H:i:s\')
и душа успокоилась :)
Для информации. Мож кому понадобится...
С помощью gmdate(\'H:i:s\') я получаю время GMT+00:00
Теперь нужно только взять временное смещение пользователя, которое он указал в настройках и путем примитивных арифметических операций вычислить нужное время. Всем спасибо.
зы. Есть какие-то мысли по поводу перехода на летнее время и обратно? =) В PHP можно получить текущее временное смещение сервера и от него уже плясать... Наиболее хорошие варианты реализации у кого-то в голове проскочили? Заранее благодарен!
-
Что, ни у кого нет никаких мыслей по поводу перехода на летнее время и обратно? =(