DateTime::diff

DateTimeImmutable::diff

DateTimeInterface::diff

date_diff

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTime::diff -- DateTimeImmutable::diff -- DateTimeInterface::diff -- date_diffRetourne la différence entre deux objets DateTime

Description

Style orienté objet

public DateTime::diff(DateTimeInterface $targetObject, bool $absolute = false): DateInterval
public DateTimeImmutable::diff(DateTimeInterface $targetObject, bool $absolute = false): DateInterval
public DateTimeInterface::diff(DateTimeInterface $targetObject, bool $absolute = false): DateInterval

Style procédural

date_diff(DateTimeInterface $baseObject, DateTimeInterface $targetObject, bool $absolute = false): DateInterval

Retourne la différence entre deux objets DateTimeInterface.

Liste de paramètres

datetime

La date à comparer.

absolute

Doit-on forcer l'intervalle à être positif ?

Valeurs de retour

L'objet DateInterval représente la différence entre les deux dates ou false si une erreur survient.

La valeur de retour représente de façon plus détaillé l'intervale à appliquer sur l'objet original ($this ou $originObject) pour arriver à $targetObject. Cette procédure n'est pas toujours réversible.

Exemples

Exemple #1 Exemple avec DateTime::diff()

Style orienté objet

<?php
$origin 
= new DateTime('2009-10-11');
$target = new DateTime('2009-10-13');
$interval $origin->diff($target);
echo 
$interval->format('%R%a days');
?>

Style procédural

<?php
$origin 
date_create('2009-10-11');
$target date_create('2009-10-13');
$interval date_diff($origin$target);
echo 
$interval->format('%R%a days');
?>

Les exemples ci-dessus vont afficher :

+2 days

Exemple #2 Comparaison de deux objets DateTime

Note:

Les objets DateTime peuvent être comparés en utilisant les opérateurs de comparaison.

<?php
$date1 
= new DateTime("now");
$date2 = new DateTime("tomorrow");

var_dump($date1 == $date2);
var_dump($date1 $date2);
var_dump($date1 $date2);
?>

L'exemple ci-dessus va afficher :

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

Voir aussi