par , 13/02/2018 à 22h36 (1515 Affichages)
Pour ce qui est de l'internationalisation, il est préférable (et de loin) de faire appel à la bibliothèque ICU fournie en standard par PHP.
Pour formater une date localement, rien de bien compliqué :
1 2 3 4
| $date = "2018-02-13";
$fmt = new IntlDateFormatter('fr_FR', IntlDateFormatter::NONE, IntlDateFormatter::NONE);
$fmt->setPattern('EEEE dd MMMM YYYY');
echo $fmt->format(new DateTime($date)); |
Pour les formatages possibles, c'est par ici que ça se passe.
Pour afficher les mois de l'année :
1 2 3 4 5 6
| $fmt = new IntlDateFormatter('fr_FR', IntlDateFormatter::NONE, IntlDateFormatter::NONE);
$fmt->setPattern('MMMM');
$dt = new DateTime();
foreach (range(1, 12) as $m) {
echo $fmt->format($dt->setDate(2018, $m, 1)), '<br>';
} |
ou encore une version équivalente :
1 2 3 4 5 6
| $fmt = new IntlDateFormatter('fr_FR', IntlDateFormatter::NONE, IntlDateFormatter::NONE);
$fmt->setPattern('MMMM');
$dt = new DateTime('first day of december last year');
foreach (range(1, 12) as $m) {
echo $fmt->format($dt->modify('next month')), '<br>';
} |
Ce qui produira :
janvier
février
mars
avril
mai
juin
juillet
août
septembre
octobre
novembre
décembre