(PHP 5 >= 5.3.0, PHP 7)
Returns the difference between two DateTime objects
public DateInterval DateTime::diff ( DateTimeInterface $datetime2 [, bool $absolute = false ] )
Object oriented style
public DateInterval DateTimeImmutable::diff ( DateTimeInterface
$datetime2
[, bool $absolute
= false ] ) public DateInterval DateTimeInterface::diff ( DateTimeInterface
$datetime2
[, bool $absolute
= false ] )Procedural style
DateInterval date_diff ( DateTimeInterface
$datetime1
, DateTimeInterface $datetime2
[, bool $absolute
= false ] )Returns the difference between two DateTimeInterface objects.
Parameters:
datetime
The date to compare to.
absolute
Should the interval be forced to be positive?
Returns:
The DateInterval object representing the difference between the two dates or FALSE
on failure.
Examples:
DateTime::diff() example
Object oriented style
1 2 3 4 5 6 | <?php $datetime1 = new DateTime( '2009-10-11' ); $datetime2 = new DateTime( '2009-10-13' ); $interval = $datetime1 ->diff( $datetime2 ); echo $interval ->format( '%R%a days' ); ?> |
Procedural style
1 2 3 4 5 6 | <?php $datetime1 = date_create( '2009-10-11' ); $datetime2 = date_create( '2009-10-13' ); $interval = date_diff( $datetime1 , $datetime2 ); echo $interval ->format( '%R%a days' ); ?> |
The above examples will output:
+2 days
DateTime object comparison
Note:
As of PHP 5.2.2, DateTime objects can be compared using comparison operators.
1 2 3 4 5 6 7 8 | <?php $date1 = new DateTime( "now" ); $date2 = new DateTime( "tomorrow" ); var_dump( $date1 == $date2 ); var_dump( $date1 < $date2 ); var_dump( $date1 > $date2 ); ?> |
The above example will output:
bool(false) bool(true) bool(false)
See also:
Please login to continue.