DateTimeInterface::diff DateTimeImmutable::diff DateTime::diff date_diff Retourne la différence entre deux objets DateTime &reftitle.description; &style.oop; public DateIntervalDateTimeInterface::diff DateTimeInterfacetargetObject boolabsolute&false; public DateIntervalDateTimeImmutable::diff DateTimeInterfacetargetObject boolabsolute&false; public DateIntervalDateTime::diff DateTimeInterfacetargetObject boolabsolute&false; &style.procedural; DateIntervaldate_diff DateTimeInterfacebaseObject DateTimeInterfacetargetObject boolabsolute&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 <function>DateTimeImmutable::diff</function> &style.oop; diff($target); echo $interval->format('%R%a days'); ]]> &example.outputs; &style.procedural; format('%R%a days'); ]]> &example.outputs; <methodname>DateTimeInterface::diff</methodname> 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 <methodname>DateTimeInterface::diff</methodname> 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 <classname>DateTime</classname> Les objets DateTimeImmutable ou DateTime peuvent être comparés en utilisant les opérateurs de comparaison. $date2); ]]> &example.outputs; &reftitle.seealso; DateInterval::format DateTime::add DateTime::sub