DateInterval::__construct Crée un nouvel objet DateInterval &reftitle.description; public DateInterval::__construct stringduration Crée un nouvel objet DateInterval. &reftitle.parameters; duration Une spécification d'intervalle. Le format commence avec la lettre P, pour period. Chaque durée de la période est représentée par une valeur entière suivie par une désignation de période. Si la durée contient des éléments de temps, cette portion de la spécification est précédée par la lettre T. Désignation de période <parameter>duration</parameter> Désignation de période Description Y Années M Mois D Jours W Semaine. Convertie en jours. Antérieur à PHP 8.0.0, ne peut pas être combiné avec D. H Heures M Minutes S Secondes
Voici quelques exemples simples : 2 jours sera P2D ; 2 secondes sera PT2S ; 6 années et 5 minutes sera P6YT5M. Les types d'unité doivent être entrés des plus grands aux plus petits. Ainsi, les années doivent être présentes avant les mois, les mois avant les jours, les jours avant les minutes, etc. Aussi, une année et 4 jours doit être représenté comme P1Y4D, et non P4D1Y. Cette spécification peut également être représentée sous la forme d'une durée. Aussi, une année et 4 jours peut être P0001-00-04T00:00:00. Mais les valeurs de ce format ne peuvent pas excéder une période donnée (c.-à-d. 25 heures est invalide). Ces formats sont basés sur la spécification de durée ISO 8601.
&reftitle.errors; Lance une exception DateMalformedIntervalStringException lorsque le paramètre duration ne peut être analysé comme un intervalle. Antérieur à PHP 8.3, ceci était une Exception. &reftitle.changelog; &Version; &Description; 8.3.0 Lance désormais une DateMalformedIntervalStringException au lieu de Exception. 8.2.0 Seules les propriétés y à f, invert, et days seront visibles, y compris une nouvelle propriété booléenne from_string. 8.0.0 W peut être combiné avec D. &reftitle.examples; Construction et utilisation des objets <classname>DateInterval</classname> add($interval); // Convertir l'intervalle en chaîne de caractères echo $interval->format("%d"); ]]> &example.outputs; Exemple avec <classname>DateInterval</classname> &example.outputs.82; int(0) ["m"]=> int(0) ["d"]=> int(9) ["h"]=> int(0) ["i"]=> int(0) ["s"]=> int(0) ["f"]=> float(0) ["invert"]=> int(0) ["days"]=> bool(false) ["from_string"]=> bool(false) } ]]> &example.outputs.8; int(0) ["m"]=> int(0) ["d"]=> int(9) ["h"]=> int(0) ["i"]=> int(0) ["s"]=> int(0) ["f"]=> float(0) ["weekday"]=> int(0) ["weekday_behavior"]=> int(0) ["first_last_day_of"]=> int(0) ["invert"]=> int(0) ["days"]=> bool(false) ["special_type"]=> int(0) ["special_amount"]=> int(0) ["have_weekday_relative"]=> int(0) ["have_special_relative"]=> int(0) } ]]> &example.outputs.7; int(0) ["m"]=> int(0) ["d"]=> int(2) ["h"]=> int(0) ["i"]=> int(0) ["s"]=> int(0) ["f"]=> float(0) ["weekday"]=> int(0) ["weekday_behavior"]=> int(0) ["first_last_day_of"]=> int(0) ["invert"]=> int(0) ["days"]=> bool(false) ["special_type"]=> int(0) ["special_amount"]=> int(0) ["have_weekday_relative"]=> int(0) ["have_special_relative"]=> int(0) } ]]> &reftitle.seealso; DateInterval::format DateTime::add DateTime::sub DateTime::diff