|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription: mai 2005
Messages: 109
|
Bonjour,
Dans une boucle affichant une série de 10 news j'ai entre autre : $date = $data['date']; $date correspond vous vous en doutez sans doute à la date extraite de la bdd. Je voudrais afficher les dates sous la forme "Lundi 19 décembre 2005". J'ai trouvé ce script qui converti les dates us en dates fr avec jours et mois. Mais je n'arrive pas à l'intéregrer afin de pouvoir afficher mes dates en français. Pourriez-vous m'aider svp :- ? |
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() Inscription: novembre 2005
Messages: 534
|
Avec date et strtotime comme ça:
Code :
echo date("d:m:Y H:i",strtotime($date)); |
|
|
00
|
|
|
#3 |
|
Membre émérite
![]() Inscription: avril 2005
Localisation: IdF
Messages: 996
|
Il faut convertir la date en timestamp en utilisant la fonction strtotime par exemple (Y'a une fonction MySQL qui le fait aussi).
Code :
$timestamp = strtotime($date); setlocale(LC_TIME, "fr"); echo strftime("%A %d %B %Y", $timestamp); |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription: octobre 2005
Localisation: Québec
Messages: 90
|
http://www.phpdebutant.org/article53.php
va lire ceci et tu sera capable |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription: mai 2005
Messages: 109
|
Oui mais tout ça va m'afficher la date sous cette forme : le 19 12 2005
Alors que j'aimerais avoir ma date sous cette forme : le lundi 19 décembre 2005. D'où mon lien vers la fonction magique |
|
|
00
|
|
|
#6 |
|
Membre expérimenté
![]() Inscription: novembre 2005
Messages: 534
|
Est tu sur d'avoir essayer l'exemple de Linaa
|
|
|
00
|
|
|
#7 | |
|
Membre du Club
![]() Inscription: mai 2005
Messages: 109
|
Citation:
Je préfèrerais en français ^^. |
|
|
|
00
|
|
|
#8 |
|
Membre expérimenté
![]() Inscription: novembre 2005
Messages: 534
|
Dans ce cas, c'est que tu as un problème avec tes locales, parce que c'est le but de faire setlocale(LC_TIME, "fr");
|
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription: mai 2005
Messages: 109
|
Mmm ben je suis sur un pti 60gp OVH. Ca viendrait du serveur ??
Code :
<? $date = date("Y-m-d H:i:s"); $timestamp = strtotime($date); setlocale(LC_TIME, "fr"); echo strftime("%A %d %B %Y", $timestamp); ?> |
|
|
00
|
|
|
#10 | |
|
Membre émérite
![]() Inscription: avril 2005
Localisation: IdF
Messages: 996
|
Citation:
J'crois que c'est parce qu'on a pas les droits pour le modifier En tout cas, ça marche en local! Sinon, en utillisant leur script tu peux faire : Code :
//--- Les noms des jours en français $jour{0} = "dimanche"; $jour{1} = "lundi"; $jour{2} = "mardi"; $jour{3} = "mercredi"; $jour{4} = "jeudi"; $jour{5} = "vendredi"; $jour{6} = "samedi"; //--- Les noms des mois en français $mois{1} = "janvier"; $mois{2} = "février"; $mois{3} = "mars"; $mois{4} = "avril"; $mois{5} = "mai"; $mois{6} = "juin"; $mois{7} = "juillet"; $mois{8} = "août"; $mois{9} = "septembre"; $mois{10} = "octobre"; $mois{11} = "novembre"; $mois{12} = "décembre"; $timestamp = strtotime($date); $d = date("w/j/m/y",$timestamp); $date = explode("/",$d); $date_fr = $jour{$d[0]}." ".$d[1]." ".$mois{$d[2]}." ".$d[3]; echo $date_fr; j->jour du mois m->mois y->annee |
|
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() Inscription: mai 2005
Messages: 109
|
Dommage pour Ovh, parce que ça aurait effectivement été très pratique !!
Sinon Linaa, ça me donne ça ton code : "lundi / janvier 9" Mais ça ne risque pas de faire baisser la performance du script le explode() :- ? Je ne sais pas hein, je ne suis pas du tout connaisseur de la chose vous l'aurez compris En fait mon problème avec la fonction dont j'ai donné le lien c'est que je n'arrive pas à l'intégrer dans ma boucle. Dans cette boucle je prend le champ date de la news et je l'obtiens donc sous cette forme : $date = 2005-12-17 14:05:23 Mais après je ne comprends pas comment pouicher la chose avec la fonction sans que ça fasse d'erreur ou de truc incohérants. |
|
|
00
|
|
|
#12 |
|
Membre émérite
![]() Inscription: avril 2005
Localisation: IdF
Messages: 996
|
Me suis juste trompée entre les $d et $date, voila :
Code :
$date_fr = $jour{$date[0]}." ".$date[1]." ".$mois{$date[2]}." ".$date[3]; Code :
array(4) { [0]=> string(1) "1" [1]=> string(2) "19" [2]=> string(2) "12" [3]=> string(2) "05" } |
|
|
00
|
|
|
#13 |
|
Membre du Club
![]() Inscription: mai 2005
Messages: 109
|
|
|
|
00
|
|
|
#14 | ||
|
Membre du Club
![]() Inscription: mai 2005
Messages: 109
|
Citation:
Citation:
Pour les noms des variables du strftime c'est ici dans la doc. |
||
|
|
00
|
|
|
#15 |
|
Membre expérimenté
![]() Inscription: novembre 2005
Messages: 534
|
|
|
|
00
|
|
|
#16 |
|
Membre du Club
![]() Inscription: mai 2005
Messages: 109
|
Oh, j'ai trouvé entre temps et édité mon post avant de voir ton message, désolé
Merci quand même ps : c'est trompeur le fait que ce ne soit pas les mêmes désignations qu'avec date() quand même. |
|
|
00
|