(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTimeInterface::format -- DateTimeImmutable::format -- DateTime::format -- date_format — Retourne une date formatée suivant le format fourni
Style orienté objet
$format): string$format): string$format): stringStyle procédural
Retourne une date formatée suivant le format fourni.
objectSeulement en style procédural : un objet DateTime retourné par date_create()
format
       Le format de la date désirée. Voir les options de formatage ci-dessous.
       Il existe aussi de nombreuses 
       constantes de dates
       qui peuvent être utilisées, ce qui fait que DATE_RSS
       va remplacer le format "D, d M Y H:i:s".
      
| Caractères pour le paramètre format | Description | Exemple de valeurs retournées | 
|---|---|---|
| Jour | --- | --- | 
| d | Jour du mois, sur deux chiffres (avec un zéro initial) | 01à31 | 
| D | Jour de la semaine, en trois lettres (et en anglais - par défaut : en anglais, ou sinon, dans la langue locale du serveur) | MonàSun | 
| j | Jour du mois sans les zéros initiaux | 1à31 | 
| l('L' minuscule) | Jour de la semaine, textuel, version longue, en anglais | SundayàSaturday | 
| N | Représentation numérique ISO 8601 du jour de la semaine | 1(pour Lundi) à7(pour Dimanche) | 
| S | Suffixe ordinal d'un nombre pour le jour du mois, en anglais, sur deux lettres | st,nd,rdouth.  Fonctionne bien avecj | 
| w | Jour de la semaine au format numérique | 0(pour dimanche) à6(pour samedi) | 
| z | Jour de l'année | 0à365 | 
| Semaine | --- | --- | 
| W | Numéro de semaine dans l'année ISO 8601, les semaines commencent le lundi | Exemple : 42(la 42ème semaine de l'année) | 
| Mois | --- | --- | 
| F | Mois, textuel, version longue; en anglais, comme JanuaryouDecember | JanuaryàDecember | 
| m | Mois au format numérique, avec zéros initiaux | 01à12 | 
| M | Mois, en trois lettres, en anglais | JanàDec | 
| n | Mois sans les zéros initiaux | 1à12 | 
| t | Nombre de jours dans le mois | 28à31 | 
| Année | --- | --- | 
| L | Est ce que l'année est bissextile | 1si bissextile,0sinon. | 
| o | La numérotation de semaine dans l'année ISO 8601. C'est la même valeur que Y, excepté si le numéro de la semaine ISO
            (W) appartient à l'année précédente ou suivante,
            cette année sera utilisée à la place. | Exemples : 1999ou2003 | 
| X | Une représentation numérique complète étendue d'une année, d'au moins 4 chiffres,
            avec un -pour les années avant l'ère commune
            et un+pour les années de l'ère commune. | Exemples : -0055,+0787,+1999,+10191 | 
| x | Une représentation numérique complète étendue si nécessaire,
            ou une représentation numérique complète standard si possible (comme Y).
            Au moins quatre chiffres. Les années antérieures à l'ère commune sont préfixées par un-.
            Les années au-delà (et y compris) du10000sont préfixées par un+. | Exemples : -0055,0787,1999,+10191 | 
| Y | Une représentation numérique complète d'une année, au moins 4 chiffres, avec -pour les années av. J.-C. | Exemples : -0055,0787,1999,2003,10191 | 
| y | Année sur 2 chiffres | Exemples : 99ou03 | 
| Heure | --- | --- | 
| a | Ante meridiem et Post meridiem en minuscules | amoupm | 
| A | Ante meridiem et Post meridiem en majuscules | AMouPM | 
| B | Heure Internet Swatch | 000à999 | 
| g | Heure, au format 12h, sans les zéros initiaux | 1à12 | 
| G | Heure, au format 24h, sans les zéros initiaux | 0à23 | 
| h | Heure, au format 12h, avec les zéros initiaux | 01à12 | 
| H | Heure, au format 24h, avec les zéros initiaux | 00à23 | 
| i | Minutes avec les zéros initiaux | 00à59 | 
| s | Secondes avec zéros initiaux | 00à59 | 
| u | Microsecondes. Notez que la fonction
            date() génèrera toujours 000000vu qu'elle prend un paramètre de type
            entier, alors que la méthode DateTime::format()
            supporte les microsecondes si DateTime a
            été créée avec des microsecondes. | Exemple : 654321 | 
| v | Millisecondes. Même note que pour u. | Exemple: 654 | 
| Fuseau horaire | --- | --- | 
| e | L'identifiant du fuseau horaire | Exemples : UTC,GMT,Atlantic/Azores | 
| I(i majuscule) | L'heure d'été est activée ou pas | 1si oui,0sinon. | 
| O | Différence d'heures avec l'heure de Greenwich (GMT), sans deux-points entre les heures et les minutes | Exemple : +0200 | 
| P | Différence avec l'heure Greenwich (GMT) avec un deux-points entre les heures et les minutes | Exemple : +02:00 | 
| p | Identique à P, mais retourneZau lieu de+00:00(disponible à partir de PHP 8.0.0) | Exemples : Zou+02:00 | 
| T | Abréviation du fuseau horaire, si connu ; sinon décalage depuis GMT | Exemples : EST,MDT,+05 | 
| Z | Décalage horaire en secondes. Le décalage des zones à l'ouest de la zone UTC est négatif, et à l'est, il est positif. | -43200à50400 | 
| Date et Heure complète | --- | --- | 
| c | Date au format ISO 8601 | 2004-02-12T15:19:21+00:00 | 
| r | Format de date » RFC 2822/» RFC 5322 | Exemple : Thu, 21 Dec 2000 16:01:070200 | 
| U | Secondes depuis l'époque Unix (1er Janvier 1970, 0h00 00s GMT) | Voir aussi time() | 
       Les caractères non reconnus seront imprimés tels quels.
       "Z" retournera toujours 0 lorsqu'il est utilisé avec
       gmdate().
      
Note:
Sachant que cette fonction n'accepte que des entiers sous la forme de timestamp, le caractère
un'est utile que lors de l'utilisation de la fonction date_format() avec un timestamp utilisateur créé avec la fonction date_create().
Retourne la date formatée, sous forme de chaîne de caractères, en cas de succès.
| Version | Description | 
|---|---|
| 8.2.0 | Les caractères de format Xouxont été ajoutés. | 
| 8.0.0 | Le caractère de format pa été ajouté. | 
Exemple #1 Exemple avec DateTime::format()
Style orienté objet
<?php
$date = new DateTimeImmutable('2000-01-01');
echo $date->format('Y-m-d H:i:s');
?>
Style procédural
<?php
$date = date_create('2000-01-01');
echo date_format($date, 'Y-m-d H:i:s');
?>
L'exemple ci-dessus va afficher :
2000-01-01 00:00:00
Exemple #2 Plus d'exemples
<?php
// set the default timezone to use.
date_default_timezone_set('UTC');
// now
$date = new DateTimeImmutable();
// Prints something like: Wednesday
echo $date->format('l'), "\n";
// Prints something like: Wednesday 19th of October 2022 08:40:48 AM
echo $date->format('l jS \o\f F Y h:i:s A'), "\n";
/* use the constants in the format parameter */
// prints something like: Wed, 19 Oct 2022 08:40:48 +0000
echo $date->format(DateTimeInterface::RFC2822), "\n";
?>
Il est possible d'empêcher le développement d'un caractère reconnu dans la chaîne de format en le précédant d'un antislash. Si le caractère avec un antislash est déjà une séquence spéciale, il faudra peut-être également échapper l'antislash.
Exemple #3 Échappement de caractères lors du formatage
<?php
$date = new DateTimeImmutable();
// prints something like: Wednesday the 19th
echo $date->format('l \t\h\e jS');
?>
Pour formater des dates dans d'autres langues, IntlDateFormatter::format() peut être utilisée à la place de DateTimeInterface::format().
Cette méthode n'utilise pas les locales. Tous les affichages seront en anglais.