Надеюсь, это быстро для тех, кто в курсе, но у меня возникла проблема с попыткой получить правильный формат даты и времени для RSS-канала в проекте Zend Framework и выделены все доступные ресурсы;
php datetime Единственный ресурс, который я не могу полностью понять, это документация Zend, так как я не совсем уверен, как правильно вызывать статический класс, к которому они относятся тоже Zend Date_time . Также поле БД имеет тип datetime ...
Я получил все свои данные в ленте, за исключением публикации pubDate в формате XML. Поскольку формат не распознается правильно, лента просто выдает текущую дату для каждого сообщения. Вот насколько я получил ...
public function rssAction()
{
$this->_helper->layout->setLayout('xmllayout');
$model = new Default_Model_News;
$newsitems = $model->fetchAll();
$date = date("D\, j M Y G:i:s");
$feedArray = array (
'title' => "Postgoldforcash News Feed",
'description' => "Postgoldforcash News Feed",
'link' => "http://www.postgoldforcash.com",
'language' => 'en-EN',
'charset' => 'utf-8',
'docs' => "Postgoldforcash News",
'pubDate' => $date,
'entries' => array()
);
foreach ( $newsitems as $article ) {
$fDate = date_format(new DateTime($article->publishDate), "r");
$feedArray['entries'][] = array (
'title' => $article->title,
'link' => $article->url."/", // for some reason i have to add a blank space or '/' in otherwise it breaks...
'guid' => $article->title,
'description' => $article->content,
'pubDate' => $fDate
);
}
$feed = Zend_Feed::importArray($feedArray, 'rss');
$feed->send();
}
Я пробовал все другие способы получения правильного форматирования, включая;
date_format(new DateTime($article->publishDate), "D\, j M Y G:i:s");
strftime ($article->publishDate, "%a, %d %b %Y %H:%M:%S %z") ;
gmdate(DATE_RSS, strtotime($article->publishDate));
Любые указатели были бы великолепны!