Convertir une date au format datetime au format Français
Souvent, on stocke nos dates en base de données au format datetime. Voilà un petit ensemble de fonctions qui permet de convertir nos dates au format Français ce que les rends beaucoup plus compréhensible.
<?php function Date_ConvertSqlTab($date_sql) { $jour = substr($date_sql, 8, 2); $mois = substr($date_sql, 5, 2); $annee = substr($date_sql, 0, 4); $heure = substr($date_sql, 11, 2); $minute = substr($date_sql, 14, 2); $seconde = substr($date_sql, 17, 2); $key = array('annee', 'mois', 'jour', 'heure', 'minute', 'seconde'); $value = array($annee, $mois, $jour, $heure, $minute, $seconde); $tab_retour = array_combine($key, $value); return $tab_retour; } function DateMoisTxt($mois_brut) { if($mois_brut=='01') { return 'Janvier'; } elseif($mois_brut=='02') { return 'Février'; } elseif($mois_brut=='03') { return 'Mars'; } elseif($mois_brut=='04') { return 'Avril'; } elseif($mois_brut=='05') { return 'Mai'; } elseif($mois_brut=='06') { return 'Juin'; } elseif($mois_brut=='07') { return 'Juillet'; } elseif($mois_brut=='08') { return 'Août'; } elseif($mois_brut=='09') { return 'Septembre'; } elseif($mois_brut=='10') { return 'Octobre'; } elseif($mois_brut=='11') { return 'Novembre'; } elseif($mois_brut=='12') { return 'Décembre'; }; } function DateJourTxt($jour_brut) { if($jour_brut=='Mon') { return 'Lundi'; } elseif($jour_brut=='Tue') { return 'Mardi'; } elseif($jour_brut=='Wed') { return 'Mercredi'; } elseif($jour_brut=='Thu') { return 'Jeudi'; } elseif($jour_brut=='Fri') { return 'Vendredi'; } elseif($jour_brut=='Sat') { return 'Samedi'; } elseif($jour_brut=='Sun') { return 'Dimanche'; }; } function date_complete($date_sql) { $tab_date = date_extends::Date_ConvertSqlTab($date_sql); $mktime_brut = mktime($tab_date['heure'], $tab_date['minute'], $tab_date['seconde'], $tab_date['mois'], $tab_date['jour'], $tab_date['annee']); return date_extends::DateJourTxt(date('D', $mktime_brut)).' '.$tab_date['jour'].' '.date_extends::DateMoisTxt( date('m', $mktime_brut)).' '.$tab_date['annee']; } function date_complete_heure($date_sql) { $tab_date = date_extends::Date_ConvertSqlTab($date_sql); $mktime_brut = mktime($tab_date['heure'], $tab_date['minute'], $tab_date['seconde'], $tab_date['mois'], $tab_date['jour'], $tab_date['annee']); return date_extends::DateJourTxt(date('D', $mktime_brut)).' '.$tab_date['jour'].' '.date_extends::DateMoisTxt( date('m', $mktime_brut)).' '.$tab_date['annee'].' - '.$tab_date['heure'].':'.$tab_date['minute'].':'.$tab_date['seconde']; //.':'.$tab_date['seconde']; } ?>
La fonction retourne la date sous deux formats: avec ou sans les heures.
Exemple:
<?php echo "2014-03-17 14:30:00 donne: ".date_complete("2014-03-17 14:30:00")."<br>\n"; // Lundi 17 Mars 2014 echo "2014-03-17 14:30:00 donne: ".date_complete_heure("2014-03-17 14:30:00"); // Lundi 17 Mars 2014 - 14:30:00 ?>
Tous les codes sont testés et sont fonctionnels, si il arrive qu'un de ces codes ne fonctionne pas chez vous, merci de me le signaler.