Joomla 1.6 joomla 1.6 JDate bug?

Тема в разделе "Программирование", создана пользователем Anton_sz, 02.05.2011.

  1. Offline

    Anton_sz Недавно здесь

    Регистрация:
    02.05.2011
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Мужской
    Привет всем форумчанам! Недавно начал изучать joomla 1.6 и наткнулся на интересный баг.
    Текущая версия Joomla, о которой пойдет речь: 1.6.3
    Вот код, который выводит дату в соответствии с часовым поясом пользователя:
    Код (PHP):
    1. $date = new DateTime();
    2.     $dt = JFactory::getDate();
    3.    
    4.     $date->setTimezone(new DateTimeZone("Europe/London"));
    5.     $dt->setTimezone(new DateTimeZone("Europe/London"));
    6.     echo 'Гринвич: '.$date->format('Y-m-d H:i:s')." ".$dt->format('Y-m-d H:i:s').'<br/>';
    7.    
    8.     $date->setTimezone(new DateTimeZone("Asia/Yekaterinburg"));
    9.     $dt->setTimezone(new DateTimeZone("Asia/Yekaterinburg"));
    10.     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):
    1. $date = new DateTime();
    2.     $dt = JFactory::getDate();
    3.    
    4.     $date->setTimezone(new DateTimeZone("Europe/London"));
    5.     $dt->setOffset(0);
    6.     echo 'Гринвич: '.$date->format('Y-m-d H:i:s')." ".$dt->toFormat('%Y-%m-%d %H:%M:%S').'<br/>';
    7.    
    8.     $date->setTimezone(new DateTimeZone("Asia/Yekaterinburg"));
    9.     $dt->setOffset(6);
    10.     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?
    Если первое, то укажите на ошибку.
     
  2.  
  3. Offline

    Anton_sz Недавно здесь

    Регистрация:
    02.05.2011
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Мужской
    Руки не из того места растут.
    Из описания класса JDate:
    Код (PHP):
    1. ...
    2. * @param    boolean True to return the date string in the local time zone, false to return it in GMT.
    3. ...
    4. public function format($format, $local = false)


    Все, тема закрыта. :)
     

Поделиться этой страницей

Загрузка...