DateTime::format

DateTimeImmutable::format

DateTimeInterface::format

date_format

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

DateTime::format -- DateTimeImmutable::format -- DateTimeInterface::format -- date_formatRetourne une date formatée suivant le format fourni

Description

Style orienté objet

public DateTime::format(string $format): string
public DateTimeImmutable::format(string $format): string
public DateTimeInterface::format(string $format): string

Style procédural

date_format(DateTimeInterface $object, string $format): string

Retourne une date formatée suivant le format fourni.

Liste de paramètres

object

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

Les caractères suivants sont reconnus dans le paramètre format
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, rd ou th. Fonctionne bien avec j
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 January ou December 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 1 si bissextile, 0 sinon.
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 : 1999 ou 2003
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
y Année sur 2 chiffres Exemples : 99 ou 03
Heure --- ---
a Ante meridiem et Post meridiem en minuscules am ou pm
A Ante meridiem et Post meridiem en majuscules AM ou PM
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 000000 vu 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 1 si oui, 0 sinon.
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 retourne Z au lieu de +00:00 (disponible à partir de PHP 8.0.0) Exemple : +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 u n'est utile que lors de l'utilisation de la fonction date_format() avec un timestamp utilisateur créé avec la fonction date_create().

Valeurs de retour

Retourne la date formatée, sous forme de chaîne de caractères, en cas de succès.

Historique

Version Description
8.0.0 Antérieur à cette version, false était retourné en cas d'échec.
8.0.0 Le caractère de format p a été ajouté.

Exemples

Exemple #1 Exemple avec DateTime::format()

Style orienté objet

<?php
$date 
= new DateTime('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

Notes

Cette méthode n'utilise pas les locales. Tous les affichages seront en anglais.

Voir aussi

  • date() - Formate une date/heure locale