我无法正确运行RSS Feed的日期 . 你知道它的正确日期是什么吗?
我把它存储在一个名为creation_date的字段中,格式为:2012-08-14 10:17:12
然后我 grab 它:
$pubDate = $article[creation_date];
然后我转换它:
$pubDate= date("Y-m-d", strtotime($pubDate));
然后在我的商品标签中我放置它:
<pubdate>'.date("l, F d, Y", strtotime($pubDate)).'</pubdate>
有没有我没见过的东西?
9 回答
PHP日期函数已经有一种方法来格式化pubDate(RFC 2822)兼容日期:
解决了:
然后在我的echo代码中:
使用以下格式:
D, d M Y H:i:s O
. 见http://php.net/manual/en/class.datetime.php或者使用DateTime常量以便更容易使用:
DateTime::RSS
请参阅RSS 2.0 Specification中的
pubDate
定义:以下是有效RFC822日期时间的示例:
另见Problematical RFC 822 date-time value .
Rss
pubDate
使用RFC 2822 standards . 您可以通过在Date函数上调用r
参数在php
中实现此目的,即:如果您更喜欢DateTime类,请使用:
怎么样 DateTime object (PHP 5 >= 5.2.0)
要么
或两者
甚至更好
虽然接受的答案
("D, d M Y H:i:s T")
大部分时间都按预期工作,但并非100%正确 . 在多语言情况下,此字符串可能会提供非英语文本,不会被接受为RFC兼容 . 要始终确保使用英语版本,请使用"r"
.最简单的方法是使用DATE_RSS预定义常量(自PHP 5.1.0起可用) .
我用过这样的:
my hp rss sample