DateTimeInterface::formatDateTimeImmutable::formatDateTime::formatdate_formatRetourne une date formatée suivant le format fourni
&reftitle.description;
&style.oop;publicstringDateTimeInterface::formatstringformatpublicstringDateTimeImmutable::formatstringformatpublicstringDateTime::formatstringformat&style.procedural;stringdate_formatDateTimeInterfaceobjectstringformat
Retourne une date formatée suivant le format fourni.
&reftitle.parameters;
&date.datetime.description;
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".
Les caractères suivants sont reconnus dans le paramètre
formatCaractères pour le paramètre formatDescriptionExemple de valeurs retournéesJour------dJour du mois, sur deux chiffres (avec un zéro initial)01 à 31DJour de la semaine, en trois lettres (et en anglais - par défaut : en anglais, ou sinon, dans la langue locale du serveur)Mon à SunjJour du mois sans les zéros initiaux1 à 31l ('L' minuscule)Jour de la semaine, textuel, version longue, en anglaisSunday à SaturdayNReprésentation numérique ISO 8601 du jour de la semaine1 (pour Lundi) à 7 (pour Dimanche)SSuffixe ordinal d'un nombre pour le jour du mois, en anglais, sur deux lettresst, nd, rd ou
th. Fonctionne bien avec jwJour de la semaine au format numérique0 (pour dimanche) à 6 (pour samedi)zJour de l'année0 à 365Semaine------WNuméro de semaine dans l'année ISO 8601, les semaines commencent
le lundiExemple : 42 (la 42ème semaine de l'année)Mois------FMois, textuel, version longue; en anglais, comme
January ou DecemberJanuary à DecembermMois au format numérique, avec zéros initiaux01 à 12MMois, en trois lettres, en anglaisJan à DecnMois sans les zéros initiaux&one; à 12tNombre de jours dans le mois28 à 31Année------LEst ce que l'année est bissextile1 si bissextile, 0 sinon.oAnnée de numérotation des semaines 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 : 1999 ou 2003X
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, +10191x
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) du 10000 sont préfixées par un +.
Exemples : -0055, 0787,
1999, +10191YUne 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, 10191yAnnée sur 2 chiffresExemples : 99 ou 03Heure------aAnte meridiem et Post meridiem en minusculesam ou pmAAnte meridiem et Post meridiem en majusculesAM ou PMBHeure Internet Swatch000 à 999gHeure, au format 12h, sans les zéros initiaux1 à 12GHeure, au format 24h, sans les zéros initiaux0 à 23hHeure, au format 12h, avec les zéros initiaux01 à 12HHeure, au format 24h, avec les zéros initiaux00 à 23iMinutes avec les zéros initiaux00 à 59sSecondes avec zéros initiaux00 à 59u
Microsecondes. Il est à noter que la fonction
date générera toujours
000000 vu qu'elle prend un paramètre de type
entier, alors que la méthode DateTimeInterface::format
supporte les microsecondes si un objet de type
DateTimeInterface a été créé avec des microsecondes.
Exemple : 654321v
Millisecondes. Même note que pour
u.
Exemple: 654Fuseau horaire------eL'identifiant du fuseau horaireExemples : UTC, GMT, Atlantic/AzoresI (i majuscule)L'heure d'été est activée ou pas1 si oui, 0 sinon.ODifférence d'heures avec l'heure de Greenwich (GMT), sans
deux-points entre les heures et les minutesExemple : +0200PDifférence avec l'heure Greenwich (GMT) avec un deux-points
entre les heures et les minutesExemple : +02:00p
Identique à P, mais retourne Z au lieu de +00:00
(disponible à partir de PHP 8.0.0)
Exemples : Z ou +02:00TAbréviation du fuseau horaire, si connu ; sinon décalage depuis GMTExemples : EST, MDT, +05ZDé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 à 50400Date et Heure complète------cDate au format ISO 8601. Seulement compatible avec le format non étendu (jusqu'à l'année 9999). Les dates plus tardives donneront une chaîne invalide. Pour les dates plus tardives et le format étendu, voir x et X.2004-02-12T15:19:21+00:00rFormat de date RFC 2822/RFC 5322Exemple : Thu, 21 Dec 2000 16:01:07 +0200USecondes 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.
Sachant que cette fonction n'accepte que des entiers sous la forme de timestamp,
le caractère u n'est utile que lors de l'utilisation de la fonction
date_format avec un timestamp utilisateur créé avec la fonction
date_create.
&reftitle.returnvalues;
Retourne la date formatée, sous forme de chaîne de caractères,
en cas de succès.
&reftitle.changelog;
&Version;&Description;8.2.0
Les caractères de format X ou x
ont été ajoutés.
8.0.0
Le caractère de format p a été ajouté.
&reftitle.examples;
Exemple avec DateTime::format&style.oop;
format('Y-m-d H:i:s');
?>
]]>
&example.outputs;
&style.procedural;
]]>
&example.outputs;
Plus d'exemples
format('l'), "\n";
// Affiche quelque chose comme : Wednesday 19th of October 2022 08:40:48 AM
echo $date->format('l jS \o\f F Y h:i:s A'), "\n";
/* Utilisation des constantes dans le paramètre format */
// Affiche quelque chose comme : 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.
Échappement de caractères lors du formatage
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.
&reftitle.notes;
Cette méthode n'utilise pas les locales. Tous les affichages
seront en anglais.
&reftitle.seealso;
IntlDateFormatter::format