Médiaforma

PHP MySQL – Localisation de dates

Print Friendly

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.

Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply