Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何计算feedburner项目链接的年龄?_Php_Datetime_Rss_Feedburner - Fatal编程技术网

Php 如何计算feedburner项目链接的年龄?

Php 如何计算feedburner项目链接的年龄?,php,datetime,rss,feedburner,Php,Datetime,Rss,Feedburner,我正在做一个项目来确定feedburner提要中列出的url/帖子的年龄。我可以解析并以如下格式获取pubDate值:Sat,2013年7月13日10:00:15+0000 我想创建一个PHP脚本,从当前日期时间中减去原始日期时间。我已经创建了strotime($item->pubDate),但是我被时区弄糊涂了。脚本必须与每个提要一起工作(可能在不同的时区),并且脚本必须在每个时区正常工作 那么,如何根据这些规范确定帖子的发布时间呢?您可以使用该类,特别是静态方法,类似于:- $dateStr

我正在做一个项目来确定feedburner提要中列出的url/帖子的年龄。我可以解析并以如下格式获取pubDate值:
Sat,2013年7月13日10:00:15+0000

我想创建一个PHP脚本,从当前日期时间中减去原始日期时间。我已经创建了strotime($item->pubDate),但是我被时区弄糊涂了。脚本必须与每个提要一起工作(可能在不同的时区),并且脚本必须在每个时区正常工作

那么,如何根据这些规范确定帖子的发布时间呢?

您可以使用该类,特别是静态方法,类似于:-

$dateStr = 'Sat, 13 Jul 2013 10:00:15 +0000';
$dateTime = \DateTime::createFromFormat('D, d M Y H:i:s O', $dateStr);
$dateTime->setTimezone(new \DateTimeZone('UTC'));
var_dump($dateTime);
$diff = $dateTime->diff(new \DateTime('now', new \DateTimeZone('UTC')));
var_dump($diff);
输出:-

object(DateTime)[1]
  public 'date' => string '2013-07-13 10:00:15' (length=19)
  public 'timezone_type' => int 3
  public 'timezone' => string 'UTC' (length=3)

object(DateInterval)[3]
  public 'y' => int 0
  public 'm' => int 0
  public 'd' => int 0
  public 'h' => int 22
  public 'i' => int 47
  public 's' => int 48
  public 'invert' => int 0
  public 'days' => int 0
正如您所看到的,每个dateTime对象都将其时区设置为UTC
$diff
是一个实例,它表示“现在”与您收到的日期之间的差异

您可以使用

以任何格式输出日期之间的差异。查看此项