2012-04-20 1 views
0

У меня есть RSS с:Неверная дата в RSS, как исправить это на PHP?

<pubDate>Fri, 20 Apr 2012 08:00:00 GMT</pubDate> 

И валидатор сказал, что это не является правильным, потому что:

http://validator.w3.org/feed/docs/warning/ImplausibleDate.html

«В то время как это значение даты и времени правильно, он либо оказывается в будущее или достаточно далеко в прошлом, чтобы указать, что может быть либо ошибка программного обеспечения, либо неправильно настроенные часы.

Хотя спецификация RSS 2.0 предполагала, что некоторые агрегаторы могут решил игнорировать элементы с pubDates в будущем, эта практика никогда, казалось, не улавливала.

Вместо этого многие клиенты сортируют по датам по умолчанию или в качестве опции. По этой причине важно, чтобы значения даты были максимально точными.

Одна из распространенных ошибок, особенно среди британской и западной Европы в летнее время (т. Е. В периоды BST и WEST), относится к числовой части времени, чтобы отражать местное время и для зоны время до жесткого кода GMT. "

сгенерировать дату с:

<pubDate>$data2 GMT</pubDate> 

где $ data2 берется из базы данных, как folows:.

DATE_FORMAT(DATE,'%a, %d %b %Y %T') 

И ДАТА была получена с помощью функции тузд NOW()

Странно, потому что здесь у нас 9:24, но в последнее время у нас было изменение времени в Польше. Так как я могу это исправить?

ответ

0

Добавить свой часовой пояс вместо GMT:

<pubDate>$data2 +0200</pubDate> 

Это должно сделать это. Обратите внимание, что часовой пояс может измениться в течение года, так что вы можете динамически generate его:

$data2 .= date(' O'); 
1

Формат все в порядке. Стандартный формат времени для RSS 2.0 должен быть GMT, пожалуйста, отформатируйте время до GMT, обратите внимание, что это будет не быстрее текущего времени.

$data2 = gmdate(DATE_RSS, time()); 
Смежные вопросы