Portekoi Posté 27 Janvier 2005 Posté 27 Janvier 2005 (modifié) Bonjour à tous, Simple curiosité, laquelle utilsez vous? La fonction date() ou la fonction mktime() ? ++ Portekoi Modifié 27 Janvier 2005 par portekoi
Berberber Posté 27 Janvier 2005 Posté 27 Janvier 2005 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
Portekoi Posté 27 Janvier 2005 Auteur Posté 27 Janvier 2005 (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é 27 Janvier 2005 par portekoi
Dan Posté 27 Janvier 2005 Posté 27 Janvier 2005 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 Posté 27 Janvier 2005 Posté 27 Janvier 2005 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 Posté 28 Janvier 2005 Posté 28 Janvier 2005 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.
Commmint Posté 28 Janvier 2005 Posté 28 Janvier 2005 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 Posté 28 Janvier 2005 Posté 28 Janvier 2005 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... <{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
Commmint Posté 28 Janvier 2005 Posté 28 Janvier 2005 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
Titag Posté 28 Janvier 2005 Posté 28 Janvier 2005 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 Posté 30 Janvier 2005 Posté 30 Janvier 2005 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.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant