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
?>

 

Partagez cet article

Avez-vous trouvé cet article utile ?
Article utile ?

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

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *