0

我在不同的网站上收到了一个外部 RSS 提要帖子,我注意到它们都有不同的发布日期格式。有些使用这样的格式:

2012-04-09T08:23:07Z

Fri, 06 Apr 2012 01:25:43  0000

还有很多格式,但我只是向您展示了两个示例。

现在,我希望所有内容都具有统一的格式,所以我使用 strtotime()。这是我的代码:

$date = "2012-04-09T08:23:07Z";
date( "F d, Y", strtotime( $date ) );
/* Result: April 09, 2012 */

我的问题是第二种格式Fri, 06 Apr 2012 01:25:43 0000

最后有一个 0000 ,这使得 strtotime() 行为怪异。

$date = "Fri, 06 Apr 2012 01:25:43  0000";
 date( "F d, Y", strtotime( $date ) );
 /* Result: April 06, 0000 */

显然结果应该是 2012 年 4 月 6 日。

我的问题是,当 strtotime() 检测到最后一个 0000 的格式时,我怎么能不让它表现得很奇怪。知道怎么做吗?您的帮助将不胜感激!谢谢!:)

谢谢!

4

3 回答 3

1

把“0000”去掉怎么样?就像是:

$date=str_replace("0000", "", $date);

于 2012-04-23T04:01:56.870 回答
1

试试这个:

<?php 
$date = "Fri, 06 Apr 2012 01:25:43 0000";

 if (strtotime($date) !== false) 
 {
 $timestamp = strtotime($date);
     echo date( "F d, Y", $timestamp );
 } 
 else 
 {
     echo "error";
 }

 ?>

$date = "2012 年 4 月 6 日星期五 01:25:43 0000"; 输出错误。

$date = "2012 年 4 月 6 日星期五 01:25:43"; 给出输出。

于 2012-04-23T04:02:30.440 回答
1

我很确定您有格式问题:

Fri, 06 Apr 2012 01:25:43  0000

注意前面的两个空格0000?这不是巧合。原文大概是这样的:

Fri, 06 Apr 2012 01:25:43 +0000

这是用gmdate(DATE_RFC822). 在 URI 中,+符号通常被转换为空格。我认为这是你的问题。

于 2012-04-23T04:12:34.210 回答