Convertir une date au format datetime au format Français

0.00 avg. rating (0% score) - 0 votes
Partager:

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 un de ces codes ne marche pas chez vous, merci de me le signaler.
Partager:
0.00 avg. rating (0% score) - 0 votes

Vous aimerez aussi...

Laisser un commentaire