DateTime::diff

(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:

DateInterval::format() -

DateTime::add() -

DateTime::sub() -

doc_php
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.