coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
1 avril 2008 à 20:58
bishoponline
Messages postés8Date d'inscriptionmercredi 25 avril 2007StatutMembreDernière intervention11 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.
bishoponline
Messages postés8Date d'inscriptionmercredi 25 avril 2007StatutMembreDernière intervention11 novembre 2008 11 nov. 2008 à 19:22
quelqu'un la mis en ligne que l'on voit ce que cela donne ?
jdalton42
Messages postés200Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention19 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és29Date d'inscriptionlundi 10 décembre 2007StatutMembreDernière intervention13 octobre 2008 7 avril 2008 à 16:10
tanks
LeFauve42
Messages postés239Date d'inscriptionvendredi 20 octobre 2006StatutMembreDernière intervention20 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és64Date d'inscriptionmercredi 24 juillet 2002StatutMembreDernière intervention26 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és200Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention19 août 2009 3 avril 2008 à 14:30
salut,
je reposte mon code en virant les doubles quotes ;)
cs_yoman64
Messages postés592Date d'inscriptionsamedi 19 janvier 2002StatutMembreDerniè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és153Date d'inscriptionmardi 17 août 2004StatutMembreDernière intervention23 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és10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 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és2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 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és10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 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és2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 1 avril 2008 à 23:13
Salut,
Est-ce que c'est pas plus simple d'utiliser set_locale('FR_fr') ?
willeraser
Messages postés55Date d'inscriptionmercredi 15 octobre 2003StatutMembreDerniè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és10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 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és12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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.
11 nov. 2008 à 19:22
7 avril 2008 à 16:16
7 avril 2008 à 16:10
7 avril 2008 à 11:31
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 ?
7 avril 2008 à 09:09
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.
3 avril 2008 à 14:30
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 ;)
3 avril 2008 à 00:42
$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 ;)
2 avril 2008 à 13:44
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)
2 avril 2008 à 11:56
$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
2 avril 2008 à 00:35
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.
2 avril 2008 à 00:27
- 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 ?
1 avril 2008 à 23:20
1 avril 2008 à 23:13
Est-ce que c'est pas plus simple d'utiliser set_locale('FR_fr') ?
1 avril 2008 à 22:24
et ca c'est assez moche :
date = $d.","." ".$j." ".$m." ".$a ;
return $date;
mets plutot ca :
return $d.', '.$j.' '.$m.' '.$a;
1 avril 2008 à 21:58
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.
1 avril 2008 à 20:58
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.