Cleden Posté 15 Novembre 2005 Posté 15 Novembre 2005 Bonjour, J'ai toujours eu du mal à manipuler les dates en php, cela est du fait que je les stocke sous plusieurs formats (timestamp sql, unix, date en toutes lettres etc) dans mes bdd. J'aimerai savoir quel format, vous les experts en php mysql, vous utilisez et quels sont ses avantages par rapport aux autres. Merci d'avance, Loïc.
Anonymus Posté 16 Novembre 2005 Posté 16 Novembre 2005 J'utilises presque exclusivement le timestamp, dans mysql ou dans le code php. C'est le plus simple à mon avis, même s'il faut avoir un décodeur timestamp à portée de la main de temps en temps pour voir ce que ca donne. Pour cela, j'utilises : http://www.darkseo.net/~anonymus/timestamp.php Cela permet de calculer sans problèmes, et sans se prendre la tete, les dates même lorsque le calcul est 'complexe'. Exemple : le 15 mars, retrancher 20 jours, ajouter 5 jours, etc.. On se retrouve à quelle date ? Ben.. en timestamp, c'est facile. En format date traditionnel, il te faut faire de savants calculs, sur les mois à 30 jours, ceux à 31 jours, etc... De manière générale, quelleque soit la méthode que tu choisis, essaie de toujours travailler avec la même. Au moins, à défaut de choisir la meilleure, tu la connaitra bien : ses avantages, ses inconvénients, ses fonctions, ses copains, ses.. etc.. Voilà.
e.MiLoU Posté 16 Novembre 2005 Posté 16 Novembre 2005 J'utilise le timestamp. Je le laisse au format numérique (que je stocke en INT Unsigned dans ma base de données...) Je trouve que la fonction date() est bien faite en PHP... Enfin, c'est mon avis personnel quoi
Cleden Posté 16 Novembre 2005 Auteur Posté 16 Novembre 2005 Merci pour vos réponses, vous avez l'air d'accord en plus. J'ai un doute d'un coup:par timestamp, vous entendez bien le timestamp UNIX c'est à dire le nombre de seconde depuis la création de UNIX (en 1970 il me semble) ? Loïc.
Urban Posté 17 Novembre 2005 Posté 17 Novembre 2005 Ca depend de tes besoins. Si tu dois faire des requetes en fonction du mois par exemple, c'est bien de l'avoir dans la table directement lisible. A part ça le timestamp permet de tout faire.
Anonymus Posté 17 Novembre 2005 Posté 17 Novembre 2005 Si tu dois faire des requetes en fonction du mois par exemple Oui. En fait, ne n'hésites pas à stocker 2 fois la date. une fois en timestamp, une fois en yyy-mm-dd. Cette dernière permet un accès rapide à l'information, et cette première permet un accès hyper précis. Ca peut donner une impression de 'redondance d'information', mais cette redondance est nécessaire pour gagner en rapidité, et en clareté. Après, il faut voir l'utilisation que tu en as. Il va t'etre demandé d'afficher des statistiques par jour. Tu vas les stocker en yyyy-mm-dd. Puis on te demandera de les afficher par heure. Et là, c'est le problème.. Ensuite, on te demandera des ecarts. Et là, si ce n'est pas prévu dès le départ, c'est... un casse tête. Lorsqu'il ne s'agit que d'affichage, le yyyy-mm-dd convient très bien. Lorsqu'il s'agit de manipulation de dates, il pose problème.
Cleden Posté 17 Novembre 2005 Auteur Posté 17 Novembre 2005 C'est marrant, j'inserai déjà mais dates sous deux formats auparavant mais souhaitais justement simplifier le tout. Je vais donc continuer comme cela puisque vous me dites que ce n'est pas genant. Parcontre, vous n'avez pas répondu à ma deuxième question: par timestamp, vous entendez le nombre de secondes écoulées depuis la création du UNIX ou le timestamp SQL composé de YYYYMMJJHHMMSS ? Loïc.
Anonymus Posté 17 Novembre 2005 Posté 17 Novembre 2005 le nombre de secondes écoulées depuis la création du monde ..unix, evidement
Cleden Posté 18 Novembre 2005 Auteur Posté 18 Novembre 2005 Merci à vous, je n'ai plus qu'à revoir de A à Z toutes les dates de mes sites Loïc.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant