Introduction
Représente un intervalle de dates.
Un intervalle stocke un nombre fixe de durées (en années, mois, jours, heures, etc.)
ou une chaîne relative à une durée dans un format compréhensible par
le constructeur de la classe DateTime et
DateTimeImmutable.
Plus précisément, l'information d'un objet de la classe
DateInterval est une instruction pour aller d'une
date/moment à une autre date/moment. Ce processus n'est pas toujours
réversible.
Une façon typique de créer un objet DateInterval
est en calculant la différence entre deux objets dates/moments à travers
DateTimeInterface::diff().
La façon dont la partie horaire d'un intervalle, c'est-à-dire les heures,
les minutes, les secondes et les microsecondes, est appliquée lorsque
l'intervalle est ajouté à un objet date/heure, ou soustrait de celui-ci,
dépend de la manière dont l'intervalle a été créé. Pour un intervalle créé
avec DateInterval::__construct(), la partie horaire
correspond au temps écoulé, tandis que pour un intervalle créé avec
DateInterval::createFromDateString(), ou retourné
par DateTimeInterface::diff(), elle incrémente ou
décrémente les valeurs individuelles des composants. La partie date,
c'est-à-dire les années, les mois et les jours, incrémente ou décrémente
toujours les valeurs individuelles des composants. Les deux ne donnent donc
un résultat différent que lorsqu'une transition de fuseau horaire tombe
dans la partie horaire de l'intervalle ; voir
Arithmétique avec DateTime.
Comme il n'y a pas une manière bien définie pour comparer les intervalles,
les instances de DateInterval sont
incomparables.