Convertir une date US en français avec PHP

3

En travaillant avec des SGBD, nous sommes souvent confrontés à des problèmes de dates. En effet , les dates stockées sont au format US (AAAA-MM-JJ). Pour afficher une date en français, c’est à dire au format JJ-MM-AAAA, il est nécessaire de faire une conversion.
Il est possible de convertir très simplement une date US vers le format FR grâce à la fonction strftime.

Voici un exemple :

<?php
/* Configure le script en français */
setlocale (LC_TIME, 'fr_FR','fra');
//Définit le décalage horaire par défaut de toutes les fonctions date/heure  
date_default_timezone_set("Europe/Paris");
//Definit l'encodage interne
mb_internal_encoding("UTF-8");
//Convertir une date US en françcais
function dateFr($date){
return strftime('%d-%m-%Y',strtotime($date));
}

echo dateFr('2010-02-25'); //Affiche 25-02-2010
?>

Un autre exemple avec strftime en affichant cette fois-ci une date complète avec le jour de la semaine :

<?php
/* Configure le script en français */
setlocale (LC_TIME, 'fr_FR','fra');
//Définit le décalage horaire par défaut de toutes les fonctions date/heure  
date_default_timezone_set("Europe/Paris");
//Definit l'encodage interne
mb_internal_encoding("UTF-8");

//Convertir une date US vers une date en français affichant le jour de la semaine
function dateLongue($date,$heure = 'yes'){
    if($heure == 'yes')
    {
    $strDate = mb_convert_encoding('%A %d %B %Y à %Hh%M','ISO-8859-9','UTF-8');  
    }
    else
    {
    $strDate = mb_convert_encoding('%A %d %B %Y','ISO-8859-9','UTF-8');    
    }
    return iconv("ISO-8859-9","UTF-8",strftime($strDate ,strtotime($date))); 
}

$date1 = '2010-01-05 10:11:54';
echo dateLongue($date1); //Affiche mardi 05 janvier 2010 10h11 
$date2 = '2010-01-05';
echo dateLongue($date2,'no'); //Affiche mardi 05 janvier 2010
?>

 

Article suivantVérifier / Contrôler une adresse Email avec PHP
Fondateur de Lecoindunet et rédacteur à mes heures perdues, ma passion pour l'informatique et mes expériences professionnelles m'ont permis d'acquérir de solides connaissances dans les domaines liés aux nouvelles technologies. En démarrant ma carrière comme technicien, puis en devenant développeur et maintenant chef de projet informatique, je fais de ma polyvalence ma force et m'aspire à partager mes connaissances le web.

3 Commentaires

  1. Bonjour,
    Ce script fonctionne mais je voudrais savoir comment rajouter :-si c’est aujourd’hui : lui dire d’écrire « Aujourd’hui » à la place de la date-si c’est hier : lui dire d’écrire « Hier » à la place de la date-sinon afficher la date comme elle l’est affichée actuellement
    Merci d’avanceCordialement

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here