DateTime::diff
DateTimeImmutable::diff
DateTimeInterface::diff
date_diff
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
DateTime::diff -- DateTimeImmutable::diff -- DateTimeInterface::diff -- date_diff — Returns the difference between two DateTime objects
說明
物件導向風格
$targetObject
, bool $absolute
= false
): DateInterval$targetObject
, bool $absolute
= false
): DateInterval過程化風格
$baseObject
, DateTimeInterface $targetObject
, bool $absolute
= false
): DateIntervalReturns 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.
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.
範例
示例 #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
示例 #2 DateTime object comparison
注意:
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 對像減去一定量的 日、月、年、小時、分鐘和秒。