Problème avec la date php

Par Motel, il y a 8 ans


Bonjour,

J'ai un petit problème avec ce code php j'ai bien la date qui s'affiche mais le probleme c'est que c'est en anglais et non en français ?

$date = new DateTime("2018-03-22 00:00:00", new DateTimeZone("Europe/Paris")); echo $date->format('d M'); // 22 Mars

1 réponse

Huggy, il y a 8 ans

La méthode format ne tient pas compte de la "locale"
seule la fonction strftime en tient compte

<!DOCTYPE html> <html> <head> <meta charset='UTF-8'> </head> <body> <?php $date = new DateTime("2018-02-22 00:00:00", new DateTimeZone("Europe/Paris")); setlocale(LC_TIME, 'french'); // sous Windows //echo $date->format('d M'); // 22 Mars echo utf8_encode(strftime("%e %b", $date->getTimestamp())); //echo strftime("%A %e %B %Y", mktime(0, 0, 0, 12, 22, 1978)); ?> </body> </html>

le mois de février pose problème à cause de son accent aigu qu'il faut convertir en UTF-8
d'où la partie html pour forcer le charset.
sinon le setlocale dépend fortement du système utilisé
on ne sais jamais trop quoi mettre "fr-FR" , "baguette-camembert" ça marche pas trop