La fonction PHP suivante peut être utilisée pour convertir une date en français.
Le premier paramètre est la date, le second est le format souhaité.
Les tableaux $english_days
et $french_days
contiennent
respectivement le nom des jours en anglais et en français. la fonction exploite
str_replace
pour remplacer le nom du jour en anglais par le nom
français. Le même principe est utilisé pour les mois.
// Convertit une date ou un timestamp en français
public static function dateToFrench($date, $format)
{
$english_days = array('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday');
$french_days = array('lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche');
$english_months = array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
$french_months = array('janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre');
return str_replace($english_months, $french_months, str_replace($english_days, $french_days, date($format, strtotime($date) ) ) );
}
Le premier paramètre est le même que pour la fonction strtotime(). Le second paramètre est le format désiré, comme dans la fonction date(). Voici quelques exemples :
Affiche la date du jour :
// Affiche quelque chose comme : dimanche 8 juillet 2018.
echo dateToFrench("now" ,"l j F Y");
Affiche la date d'hier :
// Affiche quelque chose comme : samedi 7 juillet 2018.
echo dateToFrench("yesterday" ,"l j F Y");
Affiche une date donnée :
// Affiche : dimanche 10 septembre 2000.
echo dateToFrench("10 September 2000",'l j F Y');
Affiche une date depuis une base de données SQL :
// Affiche : mardi 11 septembre 2001.
echo dateToFrench("2001-09-11",'l j F Y');
// Affiche : vendredi 29 juin 2018.
echo dateToFrench("2018-06-29 14:01:43",'l j F Y');