DateInterval::format

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateInterval::formatFormate l'intervalle

Description

publicDateInterval::format(string$format): string

Formate l'intervalle.

Liste de paramètres

format

Les caractères suivants sont reconnus dans la chaîne format. Chaque caractère utilisé pour le format doit être préfixé par un signe de pourcentage (%).
Caractère de formatDescriptionValeur d'exemple
%Caractère % littéral%
YAnnée, numérique, au moins 2 chiffres avec zéros initiaux01, 03
yAnnée, numérique1, 3
MMois, numérique, au moins 2 chiffres avec zéros initiaux01, 03, 12
mMois, numérique1, 3, 12
DJour, numérique, au moins 2 chiffres avec zéros initiaux01, 03, 31
dJour, numérique1, 3, 31
aNombre total de jours, provenant de la méthode DateTime::diff() ou (unknown) sinon4, 18, 8123
HHeure, numérique, au moins 2 chiffres avec zéros initiaux01, 03, 23
hHeure, numérique1, 3, 23
IMinute, numérique, au moins 2 chiffres avec zéros initiaux01, 03, 59
iMinute, numérique1, 3, 59
SSeconde, numérique, au moins 2 chiffres avec zéros initiaux01, 03, 57
sSeconde, numérique1, 3, 57
FMicrosecondes, numérique, au moins 6 chiffres, avec zéros initiaux007701, 052738, 428291
fMicrosecondes, numérique7701, 52738, 428291
RSigne "-" lorsque négatif, "+" si positif-, +
rSigne "-" lorsque négatif, vide si positif-,

Valeurs de retour

Retourne l'intervalle formaté.

Historique

VersionDescription
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.

Exemples

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

Notes

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".

Voir aussi

To Top