DateInterval
PHP Manual

DateInterval::format

(PHP 5 >= 5.3.0)

DateInterval::formatFormate l'intervalle

Description

public string DateInterval::format ( string $format )

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 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
R Signe "-" lorsque négatif, "+" si positif -, +
r Signe "-" lorsque négatif, vide si positif -,

Valeurs de retour

Retourne l'intervalle formaté.

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

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


DateInterval
PHP Manual