Pour connaître la locale à utiliser en fonction de la langue souhaitée, interrogez la fonction setlocale() :
$sl = setlocale(LC_TIME, code);
Où code est le code du pays sur trois lettres : “FRA”, “USA”, “DEU”, etc.
Initialisez alors la locale avec la valeur retournée par setlocale() :
setlocale(LC_TIME, $sl);
Vous pouvez maintenant utiliser la fonction strftime() pour obtenir une date en accord avec la locale spécifiée :
$dateEtHeure = strftime(ch);
Où ch est une chaîne de formatage qui reprend les valeurs listées sur la page http://www.php.net/manual/fr/function.strftime.php
Par exemple, pour afficher une date en français, utilisez le code suivant :
<?php
$sl = setlocale(LC_TIME, "FRA");
echo "setlocale retourne ".$sl."<br>";
setlocale(LC_TIME,$sl);
echo strftime("Nous sommes le %A %#d %B %Y");
?>
Exécutez ce code dans WAMP Server. Comme vous le voyez, la date est bien affichée en français :
A titre d’exemple, nous allons afficher cette date en américain. Pour cela, il suffit de remplacer FRA par USA dans le deuxième paramètre de la fonction setlocale.
<?php
$sl = setlocale(LC_TIME, "USA");
echo "setlocale retourne ".$sl."<br>";
setlocale(LC_TIME,$sl);
echo strftime("Nous sommes le %A %#d %B %Y");
?>
Exécutez ce code dans WAMP Server. Comme vous le voyez, la date est bien affichée en Américain. Il reste juste à mettre un peu d’ordre dans les composantes de la date.