Formatage de la date et de l’heure

Personnaliser la date et l’heure

Certaine marqueurs de modèle WordPress sont utilisés pour afficher ou retourner des informations concernant la date et l’heure ; the_date() (en anglais) et the_time() (en anglais) en sont des exemples.

Par défaut, ces fonctions afficheront ou renverront la date et l’heure aux formats tels qu’ils sont définis dans Administration > Réglages > Général. C’est l’endroit où la personnalisation du format de la date et de l’heure prendra effet sur toute l’installation WordPress.

Formatage de la date et de l’heure

Observez les suites de caractères à côté de chaque formatage de date et d’heure dans la capture d’écran. Cette chaîne est appelée une « chaîne de formatage ». Chaque lettre représente une partie spécifique de la date ou de l’heure.

Par exemple, la chaîne de formatage personnalisée suivante :

l, j F, Y

affiche une date qui ressemble à ceci :

dimanche, 24 janvier, 2021

Notez que les virgules sont lues littéralement, elles ne sont pas indispensables. Les doubles point sont lus sans interprétation également (voir la capture d’écran).

Voici ce que chaque caractère de formatage représente dans la chaîne ci‑dessus :

  • l = Nom complet du jour de la semaine (lettre « L » en minuscule) ;
  • j = Le jour du mois, sans les zéros initiaux ;
  • F = Nom complet du mois ;
  • Y = L’année sur 4 chiffres, (le y minuscule afficherait les 2 derniers chiffres de l’année).

Les fonctions de formatage de date dans WordPress utilisent les fonctions de formatage de date natives de PHP, aussi vous pouvez vous référez à la documentation officielle de PHP sur le formatage des dates et des heures.

Astuce : pour afficher une date antérieure au premier janvier 1970, il suffit de saisir une valeur négative. Ce convertisseur timestamp vous aidera à trouver la bonne valeur.

Haut ↑

Exemples de chaînes de formatage

Voici quelques exemples de formatage de date et les résultats obtenus pour un réglage général d’un site en langue française.

  • j F Y g:i – 6 novembre 2010 0:50
  • F j, Y – novembre 6, 2010
  • F Y – novembre 2010
  • g:i – 0:50
  • g:i:s – 0:50:48
  • l, j F, Y – samedi, 6 novembre, 2010
  • l j M Y – samedi 6 Nov 2010
  • j M. Y @ G:i – 6 Nov. 2010 @ 0:50
  • d/m/Y \à g\hi – 06/11/2010 à 0h50
  • d/m/Y \à H\hi\m\i\n – 06/11/2010 à 00h50min
  • d/m/Y g:i:s – 06/11/2010 0:50:48
  • d/m/Y – 06/11/2010

Astuce : pour tester facilement des chaînes de formatage, allez dans Réglages > Général, et saisissez des chaînes dans Format de date > Personnalisé, vous aurez un apeçu du résultat en direct.

Haut ↑

Remplacement du formatage des réglages généraux

Les fonctions de date et heure acceptent une chaîne de formatage différente de celle du réglage par défaut de la date et de l’heure, pour certaines localisations dans les fichiers de thème ou d’extension. Tout comme dans les réglages généraux, cette chaîne de formatage est un modèle de caractères où chaque caractère représente une partie spécifique de la date ou de l’heure.

À l’intérieur du fichier template, une chaîne de formatage de date et heure définie comme réglage pour la fonction the_time() (en anglais) ressemblerait à ceci :

Publié le <?php the_time( 'l j F Y' ); ?>.

Ce qui affichera sur l’interface publique de votre site :

Publié le dimanche 31 janvier 2021

Haut ↑

Localisation

Pour localiser la date et l’heure, utilisez la fonction date_i18n() (en anglais). La fonction date_i18n() se comporte essentiellement comme la fonction PHP date() (en anglais), sauf qu’elle traduit également des éléments tels que les noms des mois et les jours de la semaine comme les réglages régionaux actuels du site.
Vous pouvez remplacer un appel à date() par un appel à date_i18n(), en utilisant les mêmes arguments.

$date = date_i18n( 'j F Y' );
$time = date_i18n( 'g\hi' );

Vous pouvez également envelopper votre format prédéfini dans __() (en anglais) ou _e() (en anglais) afin de permettre aux traducteurs d’ajuster la date et l’heure au format local approprié. Si vous le faites, vous devez également inclure un commentaire pour que les traducteurs et traductrices sachent à quoi le format de date fait référence et où il est utilisé, afin qu’ils puissent le convertir avec précision.

/* translators: date and time format */
__( 'Y/m/d g:i:s a', 'textdomain' );

Le « textdomain » est un paramètre utilisé dans les fonctions d’internationalisation. Il s’agit d’un identifiant unique permettant à WordPress de distinguer la provenance des différentes expressions à traduire.
En savoir plus sur l’utilisation de text domain (en anglais) .

Haut ↑

Échappement

Certaines lettres n’ont pas de format associé dans la fonction de date PHP. Par exemple, un x passé dans la chaîne de formatage retournera à ce jour littéralement un x. Cependant, cela pourrait changer dans les années futures et x pourrait être associé à un format.

C’est pourquoi vous devez toujours échapper le caractère littéral dans une chaîne de formatage date avec un antislash « \ ». Notez que, dans l’exemple ci‑dessous, chaque lettre du mot of est échappée. Les virgules et les deux points « : » contenus dans la chaîne de formatage (entre les 2 cotes « ' ») n’ont pas besoin d’être échappés.

date_i18n( __( 'l j \d\e F Y', 'textdomain' ) );

Cet exemple s’affichera ainsi sur l’interface publique de votre site :

dimanche 31 de janvier 2021

Traduit par Patrice Pichon
Relu par Jenny Dupuy & Marie Comet
Dernière mise à jour le 04 mai 2021

Contribuer à la documentation en français de WordPress

Journal des modifications

04 mai 2021 Jenny Dupuy – Suppression de l’encodage des caractères accentués ou spéciaux dans les liens concernés