教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 PHP生成RSS pubDate所需日期时间格式的方法

PHP生成RSS pubDate所需日期时间格式的方法

发布时间:2016-11-28   编辑:jiaochengji.com
教程集为您提供PHP生成RSS pubDate所需日期时间格式的方法等资源,欢迎您收藏本站,我们将为您提供最新的PHP生成RSS pubDate所需日期时间格式的方法资源
简易信息聚合(也叫聚合内容)是一种RSS基于XML标准,在互联网上被广泛采用的内容包装和投递协议。RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,使用非常的多,下面我们来介绍在生成rss时pubDate所需日期时间格式的方法

SS / ATOM 的格式要产生都很简单, 麻烦的是日期格式的产生(RSS => pubDate, ATOM => created).

发现 PHP Date 有提供这些需要的相关全域变量可以使用:(PHP 5.1.1 以后开始支援这些全域变量)

<pre class="brush:php;toolbar:false"> echo DATE_RSS; // D, d M Y H:i:s O     echo DATE_ATOM; // Y-m-d\TH:i:sP     echo date(DATE_RSS); // Wed, 23 Apr 2008 19:27:19  0800     echo date(DATE_ATOM); // 2008-04-23T19:27:38 08:00</pre>

如果是 MySQL timestamp/datetime format 直接拉出来的资料, 就可以直接使用:

<pre class="brush:php;toolbar:false"> date(DATE_RSS, ($MYSQL_DATETIME_DATA));</pre>

目前支持的日期全域变量有以下:

<pre class="brush:php;toolbar:false"> DATE_ATOM: Atom  Atom (example: 2005-08-15T15:52:01 00:00)     DATE_COOKIE: HTTP Cookies (example: Monday, 15-Aug-05 15:52:01 UTC)     DATE_ISO8601: ISO-8601 (example: 2005-08-15T15:52:01 0000)     DATE_RFC822: RFC 822 (example: Mon, 15 Aug 05 15:52:01  0000)     DATE_RFC850: RFC 850 (example: Monday, 15-Aug-05 15:52:01 UTC)     DATE_RFC1036: RFC 1036 (example: Mon, 15 Aug 05 15:52:01  0000)     DATE_RFC1123: RFC 1123 (example: Mon, 15 Aug 2005 15:52:01  0000)     DATE_RFC2822: RFC 2822 (Mon, 15 Aug 2005 15:52:01  0000)     DATE_RFC3339: Same as DATE_ATOM     DATE_RSS: RSS (Mon, 15 Aug 2005 15:52:01  0000)     DATE_W3C: World Wide Web Consortium (example: 2005-08-15T15:52:01 00:00)</pre>

PHP 预定义的日期格式

自 PHP 5.1.1 起定义有以下常量来提供标准日期表达方法,可以用于日期格式函数

<pre class="brush:php;toolbar:false"> echo DATE_RSS; // D, d M Y H:i:s O     echo DATE_ATOM; // Y-m-d\TH:i:sP     echo date(DATE_RSS); // Wed, 23 Apr 2008 19:27:19  0800     echo date(DATE_ATOM); // 2008-04-23T19:27:38 08:00</pre>

虽然格式简单, 但用PHP内的预定义格式岂不更加方便.

目前PHP所有支持的日期格式:

<pre class="brush:php;toolbar:false">DATE_ATOM: Atom  Atom (example: 2005-08-15T15:52:01 00:00)     DATE_COOKIE: HTTP Cookies (example: Monday, 15-Aug-05 15:52:01 UTC)     DATE_ISO8601: ISO-8601 (example: 2005-08-15T15:52:01 0000)     DATE_RFC822: RFC 822 (example: Mon, 15 Aug 05 15:52:01  0000)     DATE_RFC850: RFC 850 (example: Monday, 15-Aug-05 15:52:01 UTC)     DATE_RFC1036: RFC 1036 (example: Mon, 15 Aug 05 15:52:01  0000)     DATE_RFC1123: RFC 1123 (example: Mon, 15 Aug 2005 15:52:01  0000)     DATE_RFC2822: RFC 2822 (Mon, 15 Aug 2005 15:52:01  0000)     DATE_RFC3339: Same as DATE_ATOM     DATE_RSS: RSS (Mon, 15 Aug 2005 15:52:01  0000)     DATE_W3C: World Wide Web Consortium (example: 2005-08-15T15:52:01 00:00)</pre>

 

生成rss例子

<pre class="brush:php;toolbar:false">header("Content-type: application/xml");  //定义header头,以防止chrome内核的浏览器不支持rss订阅,如果不支持就输出xml格式的文件 /**  * 查询数据库,获取要输出rss的数据  */ $database = "nameofthedatabase"; $dbconnect = mysql_pconnect(localhost, dbuser, dbpassword); mysql_select_db($database, $dbconnect); $query = "select link, headline, description from `headlines` limit 15"; $result = mysql_query($query, $dbconnect); while ($line = mysql_fetch_assoc($result)) {     $return[] = $line; } $now = date("D, d M Y H:i:s T"); $output = "<?xml version=\"1.0\" encoding=\"utf-8\"?>             <rss version=\"2.0\">                 <channel>                     <title>山东道路交通安全网-$lanmu</title>                     <link>http://sdjtaq.cn/rss</link>                     <description>Latest 100 articles of $lanmu</description>                     <pubDate>$now</pubDate>                     <lastBuildDate>$now</lastBuildDate>                     <docs>http://someurl.com</docs>                     <managingEditor>810706080@qq.com</managingEditor>                     <webMaster>810706080@qq.com</webMaster>             "; foreach ($artList as $line) {     $date = strtotime($line['add_time']); //将数据库的时间格式化成时间戳     $output .= "<item> \n"             . "<title>" . $line['title'] . "</title>\n"             . " <link>http://sdjtaq.cn/aq_show_" . $line['id'] . ".html</link>\n"             . "<description><![CDATA[" . $line['zhaiyao'] . "]]></description>\n"             . "<pubDate>" . date("D, d M Y H:i:s O", $date) . "</pubDate>\n"             . "</item>\n"; } $output .= "</channel>\n</rss>"; echo $output;</pre>

您可能感兴趣的文章:
PHP生成RSS pubDate所需日期时间格式的方法
结合使用PHP和RSS
laravel输出xml数据,php输出xml格式数据
PHP学习之校验日期格式合法性?(使用strtotime()和date())
php日期函数问题
PHP 5.2日期、时间和时区处理详解
php中日期函数date与gmdate在获取日期上的区别
让rss按照审核时间排序的方法
javascript日期计算与格式化日期
php验证判断一个日期的格式是否正确

[关闭]
~ ~