Pls note these important abbreviations; P: periodY: yearsM: monthsD: daysT: timeH: hoursM: minutesS: secondsThe above is from the ISO 8601 - an international standard that defines how to use, store, and transfer date, time, and duration information.
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
DateInterval::format — Formate l'intervalle
format
Caractère de format |
Description | Valeur d'exemple |
---|---|---|
% |
Caractère % littéral |
% |
Y |
Année, numérique, au moins 2 chiffres avec zéros initiaux | 01 , 03 |
y |
Année, numérique | 1 , 3 |
M |
Mois, numérique, au moins 2 chiffres avec zéros initiaux | 01 , 03 , 12 |
m |
Mois, numérique | 1 , 3 , 12 |
D |
Jour, numérique, au moins 2 chiffres avec zéros initiaux | 01 , 03 , 31 |
d |
Jour, numérique | 1 , 3 , 31 |
a |
Nombre total de jours, provenant de la méthode DateTime::diff()
ou (unknown) sinon |
4 , 18 , 8123 |
H |
Heure, numérique, au moins 2 chiffres avec zéros initiaux | 01 , 03 , 23 |
h |
Heure, numérique | 1 , 3 , 23 |
I |
Minute, numérique, au moins 2 chiffres avec zéros initiaux | 01 , 03 , 59 |
i |
Minute, numérique | 1 , 3 , 59 |
S |
Seconde, numérique, au moins 2 chiffres avec zéros initiaux | 01 , 03 , 57 |
s |
Seconde, numérique | 1 , 3 , 57 |
F |
Microsecondes, numérique, au moins 6 chiffres, avec zéros initiaux | 007701 , 052738 , 428291 |
f |
Microsecondes, numérique | 7701 , 52738 , 428291 |
R |
Signe "- " lorsque négatif, "+ " si positif |
- , + |
r |
Signe "- " lorsque négatif, vide si positif |
- ,
|
Retourne l'intervalle formaté.
Version | Description |
---|---|
7.2.12 |
Le format F et f
sera désormais toujours positif.
|
7.1.0 |
Les caractères de format F et f
ont été ajoutés.
|
Exemple #1 Exemple avec DateInterval
<?php
$interval = new DateInterval('P2Y4DT6H8M');
echo $interval->format('%d jours');
?>
L'exemple ci-dessus va afficher :
4 jours
Exemple #2 DateInterval et retenue
<?php
$interval = new DateInterval('P32D');
echo $interval->format('%d jours');
?>
L'exemple ci-dessus va afficher :
32 jours
Exemple #3 DateInterval et DateTime::diff() avec les modificateurs %a et %d
<?php
$january = new DateTime('2010-01-01');
$february = new DateTime('2010-02-01');
$interval = $february->diff($january);
// %a affichera le nombre total de jours...
echo $interval->format('%a jours au total')."\n";
// ...alors que %d n'affichera que le nombre de jours non encore couverts
// dans le mois.
echo $interval->format('%m mois, %d jour');
?>
L'exemple ci-dessus va afficher :
31 jours au total 1 mois, 0 jour
Note:
La méthode DateInterval::format() ne recalcule pas la retenue dans les chaines de temps ni dans les segments de date. Ce comportement est attendu car il n'est pas possible de dépasser des valeurs comme
"32 days"
qui pourrait être interprété comme"1 mois et 4 jours"
ou"1 mois et 1 jour"
.
Pls note these important abbreviations; P: periodY: yearsM: monthsD: daysT: timeH: hoursM: minutesS: secondsThe above is from the ISO 8601 - an international standard that defines how to use, store, and transfer date, time, and duration information.