J'ai fouillé sans succès les tutoriels du site à la recherche d'une façon pour "découper" une variable et en redisposer le contenu.
Petit exemple :
J'ai des dates enregistrées dans ma base de données dans ce format :
20050627 (année 2005 - mois 06 - jour 27)
À la base c'était pour la pure simplicité d'effectuer un tri par ordre de grandeur dans la base de données. Ce n'était certainement pas la meilleure solution je vous l'accorde. Cependant le nombre d'entrées étant considérables, et désirant afficher la date de façon lisible (27/06/2005 par exemple), je cherche une solution pour "casser" cette variable et la redisposer correctement.
Quelles fonctions rechercher ? Quelles suggestions pourriez-vous me donner ?
hum, en fait ça marche pas du tout ton truc... déja ceil c'est pas un bon choix:
par exemple avec la date 20060306 il va trouvé l'année 2007
ensuite il donne des dates négatives
Et de toute façon il est 4 fois plus lent (le plus rapide sous PHP4 étant celui avec la regex... et avec les substr sous PHP5)
lol ok enfin bon, moi j'ai pas mal programmé des trucs vite fait sur caltos alors j'ai pris un peu l'habitude de stoquer et lire des donnees dans un seul nombre
Et puis je ne proposais qu'une alternative
Le substr était en effet d'après moi la bonne solution (par contre je savais pas pour la différence de temps avec php4 et les regex)
Soit par les regex: un simple preg_replace fait ce qu'il faut : preg_replace('`(\d{4})(\d{2})(\d{2})`','$3/$2/$1',$var);
Soit avec des substr: substr($var,6,2).'/'.substr($var,4,2).'/'.substr($var,0,4);
Pourquoi ne pas sauvegarder les dates dans ta BDD simplement sous le type date? et apres formuler ta requete SQL directement pour obtenir une date formatée ?
À la base c'était pour la pure simplicité d'effectuer un tri par ordre de grandeur dans la base de données. Ce n'était certainement pas la meilleure solution je vous l'accorde. Cependant le nombre d'entrées étant considérables [..]
Je ne le referais pas de cette façon, c'est clair.
Et sinon j'ai essayé la fonction substr() et c'est parfait, ça me donne quelque chose de ce type (j'ai fractionné les variables afin de pouvoir interchanger les jour / mois / an en cas de changement de langue.
et pourquoi ne pas developper un petit script qui te permet de copier toutes tes entrees de type int dans un nouveau champs de type date comme ca ca sera plus optimisé
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Mon portfolio : https://www.artstation.com/tdugard
Mon portfolio : https://www.artstation.com/tdugard