Привет всем форумчанам! Недавно начал изучать joomla 1.6 и наткнулся на интересный баг. Текущая версия Joomla, о которой пойдет речь: 1.6.3 Вот код, который выводит дату в соответствии с часовым поясом пользователя: Код (PHP): $date = new DateTime(); $dt = JFactory::getDate(); $date->setTimezone(new DateTimeZone("Europe/London")); $dt->setTimezone(new DateTimeZone("Europe/London")); echo 'Гринвич: '.$date->format('Y-m-d H:i:s')." ".$dt->format('Y-m-d H:i:s').'<br/>'; $date->setTimezone(new DateTimeZone("Asia/Yekaterinburg")); $dt->setTimezone(new DateTimeZone("Asia/Yekaterinburg")); echo 'Оренбург: '.$date->format('Y-m-d H:i:s')." ".$dt->format('Y-m-d H:i:s').'<hr/>'; Результат не совпадает с ожидаемым: Гринвич: 2011-05-02 09:25:16 2011-05-02 08:25:16 Оренбург: 2011-05-02 14:25:16 2011-05-02 08:25:16 А вот код, который работает в joomla 1.5 и почему-то не работает в joomla 1.6: Код (PHP): $date = new DateTime(); $dt = JFactory::getDate(); $date->setTimezone(new DateTimeZone("Europe/London")); $dt->setOffset(0); echo 'Гринвич: '.$date->format('Y-m-d H:i:s')." ".$dt->toFormat('%Y-%m-%d %H:%M:%S').'<br/>'; $date->setTimezone(new DateTimeZone("Asia/Yekaterinburg")); $dt->setOffset(6); echo 'Оренбург: '.$date->format('Y-m-d H:i:s')." ".$dt->toFormat('%Y-%m-%d %H:%M:%S').'<br/>'; Его результат: Гринвич: 2011-05-02 09:25:16 2011-05-02 08:25:16 Оренбург: 2011-05-02 14:25:16 2011-05-02 08:25:16 И тоже не совпадает с тем что должно быть, хотя в 1,5 все ок. В чем может быть проблема? Руки не из того места растут или это просто баг 1,6? Если первое, то укажите на ошибку.
Руки не из того места растут. Из описания класса JDate: Код (PHP): ... * @param boolean True to return the date string in the local time zone, false to return it in GMT. ... public function format($format, $local = false) Все, тема закрыта.