Formatage d'une date avec la classe PHP IntlDatePatternGenerator
Publié le 03/08/2024 • Actualisé le 03/08/2024
Dans ce bout de code, nous voyons comment formater une date avec la classe PHP IntlDatePatternGenerator. On définit un motif générique puis un motif « idéal » correspondant à une locale donnée est calculé. Enfin, on peut formater la date en grâce à ce motif localisé.
<?php
declare(strict_types=1);
namespace App\Controller\Snippet;
/**
* 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 Snippet312Trait
{
public function snippet312(): void
{
$datePattern = 'YYYYMMdd';
$today = \DateTimeImmutable::createFromFormat('Y-m-d', '2024-08-22');
$dePg = new \IntlDatePatternGenerator('de_DE');
$pattern = $dePg->getBestPattern($datePattern);
echo 'de_DE: ', \IntlDateFormatter::formatObject($today, $pattern, 'de_DE'), PHP_EOL;
$enUsPg = new \IntlDatePatternGenerator('en_US');
$pattern = $enUsPg->getBestPattern($datePattern);
echo 'en_US: ', \IntlDateFormatter::formatObject($today, $pattern, 'en_US');
// That's it! 😁
}
}
Exécuter le snippet Plus sur Stackoverflow Plus sur le web Snippet aléatoire