Version complète: sur le forum
Webmaster Hub :
Date() ou mktime()
Portekoi
jeudi 27 janvier 2005 à 17:53
Bonjour à tous,
Simple curiosité, laquelle utilsez vous?
La fonction date() ou la fonction mktime() ?
++
Portekoi
Berberber
jeudi 27 janvier 2005 à 17:59
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.phphttp://de3.php.net/date
Portekoi
jeudi 27 janvier 2005 à 18:01
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
Dan
jeudi 27 janvier 2005 à 18:18
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.
Aprilwine
jeudi 27 janvier 2005 à 22:35
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).
Anonymus
vendredi 28 janvier 2005 à 10:18
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.
Thanh
vendredi 28 janvier 2005 à 10:43
Les deux pour moi, pas de jaloux
Commmint
vendredi 28 janvier 2005 à 11:24
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...
Thanh
vendredi 28 janvier 2005 à 11:32
CITATION(Commmint @ vendredi 28 janvier 2005, 11h24)
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...

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
Commmint
vendredi 28 janvier 2005 à 11:43
CITATION(solo @ vendredi 28 janvier 2005, 11h32)
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

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:
Titag
vendredi 28 janvier 2005 à 12:05
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.
martin
dimanche 30 janvier 2005 à 09:35
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.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez
cliquer ici.