Aller au contenu

Date() ou mktime()


Sujets conseillés

Posté (modifié)

Bonjour à tous,

Simple curiosité, laquelle utilsez vous?

La fonction date() ou la fonction mktime() ?

++

Portekoi

Modifié par portekoi
Posté (modifié)

Merci :)

Je recommence, je me suis mal exprimé :

Sous quel format stockez vous les dates dans votre base de données?

Vala, ca devrait etre mieux comme ca :)

Je demande pas un cours, mais juste savoir ce que VOUS utilisez...

Mais merci pour les liens, je vais regarder :)

++

Portekoi

Modifié par portekoi
Posté

Perso, j'utilise date au format "Y-m-d" ce qui donne 2005-01-27 pour le 27 janvier 2005 ;)

Si j'ai besoin de plus de précision, j'utilise le format TIMESTAMP de Unix/mySql qui donne les secondes écoulées depuis le 1er janvier 1970 à 0H.

Posté

Cela dépend de ce dont j'aurai besoin comme fonctionalité après que j'ai reçu les données. Par exemple, j'utilise date() pour créer des chaînes YYYY-MM-DD pour insérer dans un champs MySQL lorsque l'heure n'est pas important, ou si elle n'est pas fortement reliée à la date. J'utilise mktime() pour marquer un instant spécifique, pour exemple une estampille sur lequelle on peut éxecuter une fonction (pour trouver le temps écoulé, par exemple).

Posté

Comme a chaque fois que je stocke une date formatée 'on' (les clients) revient en me disant qu'il serait intéressant de pouvoir faire des opérations sur ces dates (style : le plus jeune, combien de temps entre 2 dates, etc..), je n'utilise plus que le format timestamp.

Le format timestamp contient autant de caractères que le YYYY-MM-DD, et est tellement puissant à l'usage qu'il serait dommage de s'en passer.

Avec le format YYYY-MM-DD, il est impossible de faire des opérations basiques sans passer par des fonctions compliquées, avec tous les cas particuliers qu'elles impliquent : le 29 février, du 31/12 au 01/01, etc..

Bref, pour moi, c'est 200% le timestamp.

Posté

Pendant qu'on parle de dates (sans vouloir détourner ton post portekoi), comment fait on pour s'en sortir avec les versions successives de MySQL qui propose consécutivement un TIMESTAMP non formaté (20050128130000), et ensuite un formaté en 2004-01-28 13:00:00 ???

J'avais l'habitude de stocker des infos en TIMESTAMP NOW sans caractères de séparation. pourquoi celà a t'il changé ? mes scripts de formatage PHP ne sont plus valides depuis... :huh:

Posté
Pendant qu'on parle de dates (sans vouloir détourner ton post portekoi), comment fait on pour s'en sortir avec les versions successives de MySQL qui propose consécutivement un TIMESTAMP non formaté (20050128130000), et ensuite un formaté en 2004-01-28 13:00:00 ???

J'avais l'habitude de stocker des infos en TIMESTAMP NOW sans caractères de séparation. pourquoi celà a t'il changé ? mes scripts de formatage PHP ne sont plus valides depuis... :huh:

<{POST_SNAPBACK}>

j'avoue ne pas trop comprendre ... Cependant si tu ne veux pas de pb, il suffit de gérer le format de ta date directement dans le SELECT avec la fonction mysql DATE_FORMAT :)

Posté
j'avoue ne pas trop comprendre ... Cependant si tu ne veux pas de pb, il suffit de gérer le format de ta date directement dans le SELECT avec la fonction mysql DATE_FORMAT :)

<{POST_SNAPBACK}>

eh ben mon TIMESTAMP NOW me donnait avant une valeur XXXXXXXXXXXXXX (automatique lors d'une requête) et selon la version MySQL (ou je ne sais quoi), la valeur est XXXX-XX-XX XX:XX:XX

il m'a séparé tout seul les composants de la date.

Je vais tout me faire en TIMESTAMP Unix moi :gueule:

Posté

Bonjour,

Je rejoins Anonymus et les autres...

"Qui peut le plus peut le moins' et dans ce cas le timestamp Unix est vraiment parfait. C'est juste un tour de main à prendre.

Attention cependant avec Mysql, le type Timestamp ne correspond pas à celui de Unix. Il faut stoker les valeur dans des champs INT.

Posté

Moi j'utilise un champ de type "datetime".

Pour mes insert/update j'utilise la fonction now() de mysql

Pour les select j'utilise la fonction date_format de mysql.

Veuillez vous connecter pour commenter

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



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