Aller au contenu

Date() ou mktime()


Portekoi

Sujets conseillés

Bonjour, ce ne sont pas deux fonctions identiques. Mais opposées.

Date mets en forme la date, ou une date. Alors que Mktime, transforme une date au format Timestamp qui peut par ailleurs etre utilisé comme entrée pour la fonction date.

http://de3.php.net/manual/en/function.mktime.php

http://de3.php.net/date

Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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:

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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:

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

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



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