Traduire le jour et le mois d'une date avec PHP
Publié le 12/04/2022 • Actualisé le 12/04/2022
Dans ce bout de code, nous voyons comment traduire le jour et le mois d'une date avec PHP. On utilise l'extension intl
et sa classe IntlDateFormatter
. Dans le premier exemple, on utilise un motif personnalisé, et dans le second, on utilise des constantes prédéfinies. Cliquez sur le bouton "plus sur le web" pour voir la table de tous les motifs disponibles. Cliquez ici pour voir la sortie du même snippet avec la langue anglaise 🇬🇧.
<?php
declare(strict_types=1);
namespace App\Controller\Snippet;
use Symfony\Component\HttpFoundation\Request;
/**
* J'utilise un trait PHP afin d'isoler chaque snippet dans un fichier.
* Ce code doit être apellé d'un contrôleur Symfony étendant AbstractController (depuis Symfony 4.2)
* ou Symfony\Bundle\FrameworkBundle\Controller\Controller (Symfony <= 4.1).
* Les services sont injectés dans le constructeur du contrôleur principal.
*/
trait Snippet197Trait
{
public function snippet197(Request $request): void
{
echo 'Locale : '.$request->getLocale().PHP_EOL;
echo 'Timezone : '.date_default_timezone_get().PHP_EOL;
$dateTime = new \DateTime();
$pattern = 'EEEE (d) MMMM yyyy';
$fmt = new \IntlDateFormatter($request->getLocale(), 0, 0, null, null, $pattern);
echo $fmt->format($dateTime).PHP_EOL;
$fmt = new \IntlDateFormatter(
locale: $request->getLocale(),
dateType: \IntlDateFormatter::FULL,
timeType: \IntlDateFormatter::FULL
// we don't use a custom pattern here
);
echo $fmt->format($dateTime);
// That's it! 😁
}
}
Exécuter le snippet Plus sur Stackoverflow Lire la doc Plus sur le web Snippet aléatoire