# DateInterval::format

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

DateInterval::format — Formate 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

- DateTime::diff() - Retourne la différence entre deux objets DateTime