Aller au contenu

Quel format de date choisir pour MySql


Sujets conseillés

Posté

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.

Posté

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à.

Posté

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 :D

Posté

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.

Posté

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.

Posté
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.

Posté

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.

Posté

le nombre de secondes écoulées depuis la création du monde ;)

..unix, evidement :D

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...