Php/docs/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 — Returns the difference between two DateTime objects
说明
面向对象风格
public DateTime::diff
( DateTimeInterface $targetObject
[, bool $absolute
= false
] ) : DateInterval|false
public DateTimeImmutable::diff
( DateTimeInterface $targetObject
[, bool $absolute
= false
] ) : DateInterval|false
public DateTimeInterface::diff
( DateTimeInterface $targetObject
[, bool $absolute
= false
] ) : DateInterval|false
过程化风格
date_diff
( DateTimeInterface $originObject
, DateTimeInterface $targetObject
[, bool $absolute
= false
] ) : DateInterval|false
Returns the difference between two DateTimeInterface objects.
参数
datetime
- The date to compare to.
absolute
- Should the interval be forced to be positive?
返回值
The DateInterval object represents the
difference between the two dates 或者在失败时返回 false
.
The return value more specifically represents the interval to apply to the
original object ($this
or
$originObject
) to arrive at the
$targetObject
. This process is not always
reversible.
范例
Example #1 DateTime::diff() example
面向对象风格
<?php$origin = new DateTime('2009-10-11');$target = new DateTime('2009-10-13');$interval = $origin->diff($target);echo $interval->format('%R%a days');?>
过程化风格
<?php$origin = date_create('2009-10-11');$target = date_create('2009-10-13');$interval = date_diff($origin, $target);echo $interval->format('%R%a days');?>
以上例程会输出:
+2 days
Example #2 DateTime object comparison
Note:
As of PHP 5.2.2, DateTime objects can be compared using comparison operators.
<?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)
参见
- DateInterval::format() - Formats the interval
- DateTime::add() - 给一个 DateTime 对象增加一定量的天,月,年,小时,分钟 以及秒。
- DateTime::sub() - 对一个 DateTime 对象减去一定量的 日、月、年、小时、分钟和秒。