conversion de date - PHP - Programmation
Marsh Posté le 17-03-2007 à 21:58:16
Bonsoir,
A vue de nez je ne connais que deux méthodes (simples).
Ces méthodes on déjas été expliquées sur ce forum, une petite recherche aurait été plus rapide pour toi
Code :
|
Marsh Posté le 18-03-2007 à 14:43:26
Merci beaucoup
Honte sur moi, je n'ai même pas pensé à la recherche
Marsh Posté le 18-03-2007 à 18:09:26
On ne concatène pas les chaines affichées par echo avec un point
Marsh Posté le 18-03-2007 à 18:19:44
Shinuza a écrit : On ne concatène pas les chaines affichées par echo avec un point |
tu concatènes avec quoi ?
Marsh Posté le 18-03-2007 à 18:52:20
On ne concatène pas, on balance plusieurs arguments à echo à la place (virgule, donc). C'est (probablement) nettement plus performant, donc quand on peut y penser, c'est mieux.
(Et d'ailleurs, pendant qu'on y est, si l'on a besoin de construire une longue chaîne sans l'afficher, il est de bon usage de penser au combo ob_start/echo/ob_get_clean.)
Marsh Posté le 18-03-2007 à 18:57:16
sielfried a écrit : On ne concatène pas, on balance plusieurs arguments à echo à la place (virgule, donc). C'est (probablement) nettement plus performant, donc quand on peut y penser, c'est mieux. |
D'accord, ma remarque porté pas là dessus, mais sur le point en lui même pour la concaténation
Marsh Posté le 18-03-2007 à 20:30:22
au passage , il y a plus simple ( avec le expressions régulières )
Code :
|
Marsh Posté le 19-03-2007 à 08:16:18
elle est mauvaise ta regexp, car là je peux rentrer 2888/99/00 qui n'est pas une date au passage
^([0-9]{4})-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$
Elle est mieux come cela la bestiole nan ?
donc on garde le premier qui va de 0000 à 9999 (la flème de le changer)
le second fait des groupes de 01 à 09 puis de 10 à 12
le troisième idem : de 01 à 09 puis de 10 à 29 puis 30 ou 31
Marsh Posté le 19-03-2007 à 08:16:48
le mieux serait de passer par l'outil date en balancant un mktime et d'autres tralala, mais la gestion des dates en php ca puducu
Marsh Posté le 19-03-2007 à 09:43:58
si tu veux aller par la , ta regexp accepte le 31/02/2009
les regexp sont pas fait pour faire du controle numérique ( le pire est de valider une adresse ip en regexp )
la c'est juste du changement de format, donc j'ai considéré que la date etait valide
Mais sinon, d'une manière plus propre, il vaut mieux se faire une petite classe de gestion des dates
Marsh Posté le 19-03-2007 à 09:47:10
après cette regexp, il suffit de rajouter un test à base de checkdate() : http://fr.php.net/manual/fr/function.checkdate.php
Marsh Posté le 19-03-2007 à 10:28:56
ReplyMarsh Posté le 19-03-2007 à 10:33:49
gatsu35 a écrit : autant directement balancer un coup de checkdate() nan |
ben avant faut bien extraire les 3 champs (jj, mm, aaaa) pour pouvoir utiliser cette fonction.
Marsh Posté le 17-03-2007 à 20:24:31
hello,
j'ai dans une variable $datefr une date sous la forme
jj/mm/aaaa
je voudrais la convertir simplement pour obtenir une variable $dateus sous la forme
yyyy-mm-dd (format SQL)
Comment faire?
Merci d'avance
---------------
"L'imagination est plus importante que le savoir : le savoir est limité, l'imagination fait le tour du Monde" - Albert Einstein