PHP
日期和时间 | Date and Time

DateTime::diff

DateTime::diff

DateTimeImmutable::diff

DateTimeInterface::diff

date_diff

(PHP 5 >= 5.3.0, PHP 7)

DateTime :: diff - DateTimeImmutable :: diff - DateTimeInterface :: diff - date_diff - 返回两个DateTime对象之间的差异

描述

面向对象的风格

public DateInterval DateTime::diff ( DateTimeInterface $datetime2 [, bool $absolute = false ] )

public DateInterval DateTimeImmutable::diff ( DateTimeInterface $datetime2 [, bool $absolute = false ] )

public DateInterval DateTimeInterface::diff ( DateTimeInterface $datetime2 [, bool $absolute = false ] )

程序风格

DateInterval date_diff ( DateTimeInterface $datetime1 , DateTimeInterface $datetime2 [, bool $absolute = false ] )

返回两个DateTimeInterface对象之间的差异。

参数

datetime

比较的日期。

absolute

该时间间隔是否应该是积极的?

返回值

DateInterval对象表示两个日期之间的差异或FALSE失败。

例子

示例 #1 DateTime::diff() example

面向对象的风格

<?php $datetime1 = new DateTime('2009-10-11' $datetime2 = new DateTime('2009-10-13' $interval = $datetime1->diff($datetime2 echo $interval->format('%R%a days' ?>

程序风格

<?php $datetime1 = date_create('2009-10-11' $datetime2 = date_create('2009-10-13' $interval = date_diff($datetime1, $datetime2 echo $interval->format('%R%a days' ?>

上面的例子会输出:

+2 days

示例#2 DateTime 对象比较

注意:从PHP 5.2.2开始,可以使用比较运算符来比较DateTime对象。

<?php $date1 = new DateTime("now" $date2 = new DateTime("tomorrow" var_dump($date1 == $date2 var_dump($date1 < $date2 var_dump($date1 > $date2 ?>

上面的例子将输出:

bool(false) bool(true) bool(false)