date en français

Mammouth du PHP | 620 Messages

31 juil. 2009, 21:03

bonjour,
voilà pour transformer la date actuel en fr je fais :
$mois = array(1=>'janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre');
$jours = array('dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi');
 
echo 'Nous sommes le '.$jours[date('w')].' '.date('j').' '.$mois[date('n')].' '.date('Y');

maintenant dans ma base de données j'enregistre la date lorsque j'ajoute une actualité.
pour afficher cette date dans le sens europeen je fais dans ma requet :
$requete = mysql_query("SELECT *, DATE_FORMAT(date,'%d/%m/%Y') as date FROM infonews ORDER BY id DESC"); 
et je l'affiche de cette facon :
echo $result['date']; 
et j'obtiens a l'affichage : 30/7/2009

je souhaiterai au lieu de recuperer en chiffre ma date sortie de ma base de données l'avoir en toute lettre comme par exemple jeudi 30 juillet 2009

j'ai essayé d'adapté la 1ere solution à l'affichage de la date sortie de ma bdd mais je n'y arrive pas.

pouvez vous m'aider ?

Eléphant du PHP | 453 Messages

31 juil. 2009, 21:49

Hello,

Je te propoe de lire ceci :
setlocale(LC_TIME, 'french', 'fr_FR');
$sql = "SELECT date FROM ...";
//etc.

echo ucwords(strftime("%A %d %B %Y", strtotime($madate['date'])));
*code fait de tête

Au passage, ce n'est pas bon de nommer ton champ date. C'est un nom réservé. ;)
Modifié en dernier par niuxe le 31 juil. 2009, 21:59, modifié 1 fois.

Eléphant du PHP | 199 Messages

31 juil. 2009, 21:58

Voila ce que je mets pour afficher normalement lors de mes requêtes insert:
$date=date("d.m.y");
Voila après pour convertir je ne sais pas si c'est possible.
Mais modifie ton code pour ne plus avoir à partir d'aujourd'hui ce problème

Mammouth du PHP | 620 Messages

31 juil. 2009, 23:12

c'est bon j'ai trouvé la sulution.
juste apres ma requette je fais :
$jour = date("d"); 
		$moisfr = date("n"); 
		$annee = date("Y"); 
		
		
$mois = array(1=>'janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre');
$jours = array('dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi');
 
echo 'Nous sommes le '.$jours[date('w')].' '.date('j').' '.$mois[date('n')].' '.date('Y');

puis pour l'affichage :
echo  substr($mois[$moisfr],0,4); //pour n'aficher que les 4 premieres lettre du mois
echo $jour; //pour afficher le jour en chiffre.
je sais pas si y'a plus simple mais en tout cas chez moi sa marche.