PHP 8.4.1 Released!

DateInterval::format

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

DateInterval::formatFormate l'intervalle

Description

public DateInterval::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 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 -,

Valeurs de retour

Retourne l'intervalle formaté.

Historique

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.

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

add a note

User Contributed Notes 1 note

up
1
online dot cloudmeetings dot marco at gmail dot com
4 months ago
Pls note these important abbreviations;

P: period
Y: years
M: months
D: days
T: time
H: hours
M: minutes
S: seconds

The above is from the ISO 8601 - an international standard that defines how to use, store, and transfer date, time, and duration information.
To Top