DateTimeInterface::diffDateTimeImmutable::diffDateTime::diffdate_diffRetourne la différence entre deux objets DateTime
&reftitle.description;
&style.oop;publicDateIntervalDateTimeInterface::diffDateTimeInterfacetargetObjectboolabsolute&false;publicDateIntervalDateTimeImmutable::diffDateTimeInterfacetargetObjectboolabsolute&false;publicDateIntervalDateTime::diffDateTimeInterfacetargetObjectboolabsolute&false;&style.procedural;DateIntervaldate_diffDateTimeInterfacebaseObjectDateTimeInterfacetargetObjectboolabsolute&false;
Retourne la différence entre deux objets DateTimeInterface.
&reftitle.parameters;
datetime
La date à comparer.
absolute
Doit-on forcer l'intervalle à être positif ?
&reftitle.returnvalues;
L'objet DateInterval représente la différence
entre les deux dates.
Le paramètre absolute affecte uniquement la propriété
invert d'un objet DateInterval.
La valeur de retour représente de façon plus détaillée l'intervalle de temps
à appliquer sur l'objet original ($this ou
$originObject) pour arriver à
$targetObject. Cette procédure n'est pas toujours
réversible.
La méthode est consciente des changements d'heure d'été et peut donc renvoyer
un intervalle de 24 heures et 30 minutes, comme dans l'un
des exemples. Si l'on souhaite calculer avec le temps absolu, il faut
d'abord convertir à la fois $this/
$baseObject et $targetObject
en UTC.
&reftitle.examples;
Exemple avec DateTimeImmutable::diff&style.oop;
diff($target);
echo $interval->format('%R%a days');
]]>
&example.outputs;
&style.procedural;
format('%R%a days');
]]>
&example.outputs;
DateTimeInterface::diff lors du passage à
l'heure d'été
diff($targetTime);
echo $interval->format("%H:%I:%S (Full days: %a)"), "\n";
]]>
&example.outputs;
Calcul d'intervalle avec DateTimeInterface::diff
La valeur renvoyée par la méthode est le temps exact qu'il faut pour aller
de $this à $targetObject.
La comparaison entre le 1er janvier et le 31 décembre renvoie donc 364 jours
et non 365 (pour les années non bissextiles).
diff($targetTime);
echo "Jours totaux: ", $interval->format("%a"), "\n";
]]>
&example.outputs;
Comparaison de deux objets DateTime
Les objets DateTimeImmutable ou
DateTime peuvent être comparés en utilisant les
opérateurs de comparaison.
$date2);
]]>
&example.outputs;
&reftitle.seealso;
DateInterval::formatDateTime::addDateTime::sub