Comment afficher la date du jour en français avec PHP ?

Réponses rédigées par Antoine
Dernière mise à jour : 2018-12-31 14:25:09
Thèmes : php - date
Question

Je cherche à afficher la date du jour en français avec PHP. J'ai utilisé le code suivant :

echo date('l j F Y, H:i');

Mon problème c'est que les jours et les mois s'affichent en anglais.

Réponse

Pour afficher la date du jour en français avec PHP, vous devez :

  • Définir les informations de localisation avec la fonction setlocale.
  • Définir le décalage horaire par défaut avec la fonction date_default_timezone_set.
  • Utiliser la fonction strftime pour formater la date avec la configuration locale.
  • Éventuellement utiliser utf8_encode pour gérer les problèmes d'accentuation.

Remarque : utf8_encode n'est nécessaire que si vous n'avez pas déclaré l'encodage à utiliser dans votre code HTML :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
...

Voici le code PHP pour afficher une date en français :

<?php
setlocale(LC_TIME, 'fr_FR');
date_default_timezone_set('Europe/Paris');
echo utf8_encode(strftime('%A %d %B %Y, %H:%M'));
?>

Remarque : remplacez la dernière ligne par echo strftime('%A %d %B %Y, %H:%M'); si vous avez déclaré l'encodage dans votre code HTML comme explicité précédemment.

Vous trouverez d'avantage d'informations concernant strftime via http://php.net/manual/fr/function.strftime.php.