gpt4 book ai didi

zend-framework - Zend RSS 提要 pubDate 时间格式化

转载 作者:行者123 更新时间:2023-12-01 11:57:53 34 4
gpt4 key购买 nike

希望这对知识渊博的人来说是一个快速的过程,但是我在尝试为 Zend 框架项目中的 RSS 提要获取正确的日期时间格式时遇到了问题,并且耗尽了所有可用资源; php datetime我无法完全理解的唯一资源是 Zend 文档,因为我不太确定如何正确调用他们引用的静态类 Zend Date_time .数据库字段也是日期时间类型...

除了以 XML 格式输出的 pubDate 之外,我已经将所有数据都放入了提要中。由于格式没有被正确识别,提要只是吐出每个帖子的当前日期。据我所知...

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));

任何指针都会很棒!

最佳答案

pubDate 或 published 是一个可选字段,不是必需的。所以我会对此发表评论。

我会将 'lastUpdate' => strtotime($article->publishDate) 添加到 $feedArray。请注意,Zend RSS 编译器随后将对其执行 gmdate 以对其进行格式化。

并且不使用 import Array,而是使用 importBuilder。

请引用:http://framework.zend.com/manual/en/zend.feed.importing.html任何额外的信息。

最好的做法是只显示最新的提要(在本例中我已经完成了 10 个)

所以代码应该是:

    public function rssAction() {

$this->_helper->layout->setLayout('xmllayout');

$model = new Default_Model_News;
$newsitems = $model->fetchAll();
$date = date("YYYY-MM-dd HH:mm:ss");

$feedArray = array(
'title' => "Postgoldforcash News Feed",
'description' => "Postgoldforcash News Feed",
'link' => "http://www.postgoldforcash.com",
'language' => 'en-EN',
'charset' => 'utf-8',
'docs' => "Postgoldforcash News",
'generator' => 'Zend Framework Zend_Feed',
'entries' => array()
);

$i = 0;
foreach ($newsitems as $article) {
$i++;
if ($i > 10)
break;
$feedArray['entries'][] = array(
'title' => html_entity_decode($article->title),
'link' => $article->url ."/",
'guid' => $article->url,
'description' => strip_tags($article->content),
'lastUpdate' => strtotime($article->publishDate)

);
}
$feed = Zend_Feed::importBuilder(new Zend_Feed_Builder($feedArray), 'rss');
$feed->send();
}

试一试。

关于zend-framework - Zend RSS 提要 pubDate 时间格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5108675/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com