PHP : DateTime::diff, dans quel sens se fait la soustraction ?

15 mars 2017

La méthode diff de la classe DateTime permet de retourner la différence entre deux dates. Le problème est qu'on ne sait jamais dans quel sens se fait la soustraction. La doc PHP n'est pas d'une grande aide à ce sujet, et il faut descendre voir les commentaires des utilisateurs sur la dite doc pour savoir de quoi il retourne.

It is worth noting, IMO, and it is implied in the docs but not explicitly stated, that the object on which diff is called is subtracted from the object that is passed to diff.

i.e. $now->diff($tomorrow) is positive.

En réalité, la méthode diff soustrait l'objet sur lequel elle est appelée de l'objet passé en argument.

Dans cet exemple, $now est donc soustrait à $tomorrow.

Source : http://fr2.php.net/manual/en/datetime.diff.php#113283