Date en français

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 100 fois - Téléchargée 28 fois

Contenu du snippet

Une fonction qui retourne la date du jour en français.
En paramètres : la date à afficher, le type de date fournie
On peut rajouter le type de séparateur, d'autres formats, ... pour être encore plus complet !

Source / Exemple :


<?php
//fonction simple retournant la date en français
function datedujour($tdate,$leformat)
 {
  //tdate : le paramètre date à afficher ; si nul, on retourne la date du jour
  //leformat : paramètre de format de tdate : 0=date MySQL YYYY-MM-DD 1=date française JJ-MM-AAAA 2=timestamp ...
  $jour=array('dimanche','lundi','mardi','mercredi','jeudi','vendredi','samedi');
  $mois=array('janvier','février','mars','avril','mai','juin','juillet','août','septembre','octobre','novembre','décembre');
  if($tdate=='') //la date du jour
   $ladate=$jour[date(w)]." ".date(j)." ".$mois[date("n")-1]." ".date("Y");
  else //ou une autre date
   {
    switch($leformat)
     {
      case("0"):$tmp=explode("-",$tdate);$mtime=mktime(0,0,0,$tmp[1],$tmp[2],$tmp[0]);break;
      case("1"):$tmp=explode("-",$tdate);$mtime=mktime(0,0,0,$tmp[1],$tmp[0],$tmp[2]);break;
      case("2"):$mtime=$tdate;break;
     }
    $ladate=$jour[date(w,$mtime)]." ".date("j",$mtime)." ".$mois[date("n",$mtime)-1]." ".date("Y",$mtime); 
   }
  return $ladate;
 }
//exemples
echo "Date du jour : ".datedujour('',0);
echo "<br>Date au format Mysql 2005-06-06 : ".datedujour('2005-06-06',0);
echo "<br>Date au format Français 06-06-2005 : ".datedujour('06-06-2005',1);
echo "<br>Date de type Timestamp 1118008800 : ".datedujour('1118008800',2);
?>

A voir également

Ajouter un commentaire

Commentaires

yahijye
Messages postés
1
Date d'inscription
samedi 6 décembre 2008
Statut
Membre
Dernière intervention
21 janvier 2009

juste en passant j'essaie
<?php
setlocale (LC_TIME, 'fr_FRA', 'France', 'French', 'fr_FR.ISO8859-1', 'fr_FR');
echo strftime('%A %d %B %Y');
?>
et j'ai un parse error ligne 2..

donc a revoir..
hkmshow
Messages postés
1
Date d'inscription
lundi 10 juillet 2006
Statut
Membre
Dernière intervention
11 juillet 2006

oups!!!!!!!!!!!!!
c'est compliqué
malalam
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
18
bah ouais :
echo strftime('%A %d %B %Y', strtotime ($date));
fuckya
Messages postés
125
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
8 juin 2006

$date est sensé être un timestamp :)
cs_babloo
Messages postés
1
Date d'inscription
lundi 16 mai 2005
Statut
Membre
Dernière intervention
31 mars 2006

Bonjour, j'ai utilisé le code optimisé donné plus haut comme ceci:

<?php
setlocale (LC_TIME, 'fr_FRA', 'France', 'French', 'fr_FR.ISO8859-1', 'fr_FR');
echo strftime('%A %d %B %Y', $date);
?>

Ma variable $date est issue d'une basse de donnée où la date est: 2006-03-15
Et l'affichage me donne: jeudi 01 janvier 1970

Quelqu'un aurai une idée sur ces problème? Je pèche dessus depuis 2jours... /oo\

Merci à vous

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.