DATE COMPLETE EN FRANÇAIS

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 1 avril 2008 à 20:58
bishoponline Messages postés 8 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 11 novembre 2008 - 11 nov. 2008 à 19:22
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/46258-date-complete-en-francais

bishoponline Messages postés 8 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 11 novembre 2008
11 nov. 2008 à 19:22
quelqu'un la mis en ligne que l'on voit ce que cela donne ?
jdalton42 Messages postés 200 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 19 août 2009
7 avril 2008 à 16:16
oui effectivement en mettant mon script dans un fonction c'est clair que ce serai plus pratique.. je suis aussi d'accord cette source a été vue plusieurs fois déjà ..
mahlaoui Messages postés 29 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 13 octobre 2008
7 avril 2008 à 16:10
tanks
LeFauve42 Messages postés 239 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 20 avril 2009
7 avril 2008 à 11:31
Salut,

C'est effectivement deja vu (souvent) et la version de jdalton42 (sans les doubles quotes ;o) ) est beaucoup plus propre (encore que mettre tout ca dans une fonction permettrait de le reutiliser plus facilement) mais est-ce que c'est normal le niveau "initie" pour des comparaisons de strings ?
BaFM Messages postés 64 Date d'inscription mercredi 24 juillet 2002 Statut Membre Dernière intervention 26 novembre 2009
7 avril 2008 à 09:09
Bonjour,

je tiens juste à dire qu'il y a la fonction strftime() qui prend en compte la locale qui permet déjà d'afficher la date dans la langue voulue (si elle est installée). Et à ce moment là, si tu veux garder le format de date(), c'est une convertion vers le format de strftime() qu'il faut faire.
jdalton42 Messages postés 200 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 19 août 2009
3 avril 2008 à 14:30
salut,

je reposte mon code en virant les doubles quotes ;)

<?php
$jour = array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi');
$mois = array('Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
echo $jour[date('w', time())].' ';
echo date('j', time()).' ';
echo $mois[date('n', time())-1].' ';
echo date('Y', time()).' - ';
echo date('H:i:s', time());
?>

si tu veux le mettre, tu peux ;)

c'est beaucoup plus propre et plus court comme sa ;)
jdalton42 Messages postés 200 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 19 août 2009
3 avril 2008 à 00:42
<?php
$jour = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");
$mois = array("Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Décembre");
echo $jour[date('w', time())].' ';
echo date('j', time()).' ';
echo $mois[date('n', time())-1].' ';
echo date('Y', time()).' - ';
echo date('H:i:s', time());
?>

se serais pas mieu comme sa ? plus court ;)
cs_yoman64 Messages postés 592 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 4 décembre 2008
2 avril 2008 à 13:44
Salut,

Euh personne à pensé à dire que ce code aurait plus ça place sur codyx.org ? (Enfin, je suppose qu'un script semblable y est déja présent de toute manière)
kiki2sirom Messages postés 153 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 23 décembre 2010
2 avril 2008 à 11:56
salut
$day[0] = 'Sun';
...
$day[6] = 'Sat';

se fait plus simplement :
$day = array('Sun',...,'Sat');

idem pour $jour, $mois, $month

sans avoir besoin de déclarer les tableaux avant :
$day =array();
$jour = array();
$month = array();
$mois = array();

ok c pas grand chose mais c'est une optimisation de nb de lignes...

kiki
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
2 avril 2008 à 00:35
par serveur et configuration, j'entendais en effet l'OS de la machine faisant tourner le serveur, c'était un raccourci un peu court :-)
Et si si, ce code peut être largement optimisé. Plutôt qu'un str_replace(), un tableau indexé correctement fera largement l'affaire, avec une affectation directe ensuite.
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
2 avril 2008 à 00:27
Euh... En fait, c'est surtout tributaire de :
- le système d'exploitation (argument différent entre WIndows et Linux)
- la langue française est-elle installée ou non ?

Sur un serveur français, il y a fort à parier que la langue française sera présente...
A part ça, je ne vois pas (en relisant la doc) de contre-indication...

Bon sinon, sans faire avec setlocale()...
Un simple str_replace ne serait-il pas plus efficace ? Il faut certes un tableau définissant les valeurs anglaises et les valeurs françaises, mais sinon, ça se fait en une ligne...
Ou alors je dis une connerie ?
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 avril 2008 à 23:20
Si, mais comme c'est tributaire du serveur et de la façon dont il est configuré, selon les cas, ça ne fonctionnera pas.
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
1 avril 2008 à 23:13
Salut,

Est-ce que c'est pas plus simple d'utiliser set_locale('FR_fr') ?
willeraser Messages postés 55 Date d'inscription mercredi 15 octobre 2003 Statut Membre Dernière intervention 6 mai 2009
1 avril 2008 à 22:24
mon dieu, un count dans une boucle for => c'est le mal !


et ca c'est assez moche :

date = $d.","." ".$j." ".$m." ".$a ;
return $date;

mets plutot ca :

return $d.', '.$j.' '.$m.' '.$a;
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 avril 2008 à 21:58
Hello,

ne mets pas de count() dans tes boucles for() de cette manière (aucune fonction d'ailleurs, pas comme ça en tous cas).
D'autant plus que tes boucles servent à rien. Un exemple pour la 1ère :if(false !($iClef array_search($da, $day))) {
$d = $jour[$iClef];
}

Sinon, ce code a été vu et revu sur ce site.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
1 avril 2008 à 20:58
salut

c'etait une bonne idee de chercher a declarer tes tableaux avant de les utiliser, mais cependant, c'est pas :
# $day[] =array();
# $jour[] = array();
# $month[] = array();
# $mois[] = array();
mais plutot
# $day =array();
# $jour = array();
# $month = array();
# $mois = array();
qui est la version correcte.

sinon, un proposition d'amelioration : tu peux chercher a faire une fonction de conversion de dates anglaises, en dates francaises, histoire de pouvoir utiliser des dates stoquees en mysql, et les passer a la fonction.
Rejoignez-nous