Forums / National / Russian / Тех. поддержка / Проблема с часовыми поясами

staleo
#1 2009-08-06 20:24
Господа, прошу помочь со следующей проблемой с часовыми поясами Cotonti.

Стоит задача наладить RSS-экспорт новостей с сайта на Яндекс.Новости. Алексей (Dr2005Alex) подмодил уже существующий плаг для экспорта, я там вижу следующее:

$items .= " <pubDate>".date("r",$row['page_date'])."</pubDate>\n";

Замечу, что <pubDate> - обязательный описательный тег для каждой новости. Так вот, вот что эта строка возвращает в rss:

<pubDate>Thu, 06 Aug 2009 11:15:00 -0400</pubDate>

Все нормально, время правильное. Но тут мне пишут из яндекса: вы извините, мол, у вас время корректное, но не тот пояс стоит, -04, а должен +04 - то есть летнее московское время.

Я думаю, ладно, сейчас поиграюсь с корректировками часовых поясов - наверное, я когда-то перепутал минус с плюсом, отсюда и проблемы. Открываю admin.php?m=infos, а там все точно так, как и нужно, и трогать ничего не стоит:

#1: Время на сервере 2009-08-06 08:15
#2: GMT время, возвращённое сервером 2009-08-06 12:15 GMT
#3: GMT время + смещение времени сервера (Транслируемое Cotonti) 06.08.2009 12:15 GMT
#4: Локальное время, установленное в вашем профиле : 06.08.2009 16:15 GMT4.0 часа(ов)

Странный нюанс - во времени, установленном на сервере (сервак физически явно не в испании), но зато корректировка по GMT указана правильно.

А в рсс тем временем идет по-прежнему время #1, а не #3, как следовало бы. Может ли кто-то подскать, как привести все к нужному виду? Буду очень благодарен.
This post was edited by 127.0.0.1 (2009-08-06 21:12, 14 years ago)
Trustmaster
#2 2009-08-07 00:46
Какая версия движка и прописан ли часовой пояс в datas/config.php:
date_default_timezone_set('Europe/Moscow');
May the Source be with you!
Dr2005alex
#3 2009-08-07 02:17
Поставь в админке не +4 а -4 часа! Удивишься!
WebKaa.ru - Cotonti Relax
staleo
#4 2009-08-07 13:14
# Trustmaster : Какая версия движка и прописан ли часовой пояс в datas/config.php:
date_default_timezone_set('Europe/Moscow');
0.0.5.
И такой переменной в datas/config.php вообще нет. Но это не одно и то же со временем "Часовой пояс по умолчанию"? Так он у меня сейчас установлен +4.

Добавлено 10 Минут спустя:

# Dr2005alex : Поставь в админке не +4 а -4 часа! Удивишься!
В admin.php?m=config&n=edit&o=core&p=time у меня уже в графе "Часовой пояс сервера" выставлен пояс -4.
This post was edited by 127.0.0.1 (2009-08-07 13:25, 14 years ago)
Trustmaster
#5 2009-08-07 15:08
А что тут удивительного?
127.0.0.1:
#1: Время на сервере 2009-08-06 08:15
#2: GMT время, возвращённое сервером 2009-08-06 12:15 GMT
#3: GMT время + смещение времени сервера (Транслируемое Cotonti) 06.08.2009 12:15 GMT
#4: Локальное время, установленное в вашем профиле : 06.08.2009 16:15 GMT4.0 часа(ов)
Это как раз соответствует времени сервера GMT -0400 и часовому поясу в профиле GMT +0400: разница между временем сервера и пользователя 8 часов. А 12:15 - это время для пояса GMT 0000.
May the Source be with you!
staleo
#6 2009-08-07 22:46
Господа, открылась такая штукенция, которая в корне меняет дело.
В rss-экспорте время каждой новости указывается вне зависимости от текущего пояса (время #3)! То есть, даже сейчас у меня в rss выводится

<pubDate>Fri, 07 Aug 2009 10:40:17 -0400</pubDate>

То есть, $row['page_date'] возвращает в файле экспорта время №1, а не №3. А как сделать, чтобы именно №3?