extraire l'heure d'un champ datetime

Eléphant du PHP | 206 Messages

21 avr. 2008, 13:18

Bonjour à tous,

mon problème doit avoir une solution simple, mais malheureusement je n'ai pas trouvé laquelle.

Je me suis mis au champs DATETIME au lieu de TIMESTAMP, mais j'avoue que je suis un peu déboussolé pour gérer maintenant les dates...

J'aimerais apres avoir récupérer mon champ par une requete séparé la date de l'heure..

Comment faire?

Merci beaucoup !

Bonne semaine

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

21 avr. 2008, 13:52

Tu peux soit le faire à l'aide de php en manipulant la chaine retournée : les 10 premiers caractères correspondent à la date (aaaa-mm-jj), les 5 derniers à l'heure (hh:mm), voire utiliser la fonction DATE_FORMAT de MySQL pour formater la date ou retourner deux valeurs distinctes dans ta requête :

Code : Tout sélectionner

SELECT ... , DATE_FORMAT(mon_champ, '%d/%m/%Y') AS ma_date, DATE_FORMAT(mon_champ, '%H/%i') AS mon_heure ...
http://dev.mysql.com/doc/refman/5.0/fr/ ... tions.html
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

21 avr. 2008, 14:44

Ben et celle là ?

Code : Tout sélectionner

TIME(expr) Extrait la partie horaire de l'expression expr, de type TIME ou DATETIME.
:)

Eléphant du PHP | 206 Messages

21 avr. 2008, 16:17

Merci de vos réponses

Ryle > Nickel ça marche :D


ouckileou > euh ça me renvoit un timestamp de mon coté...

Ce que j'aimerais c'est pouvoir séparé la date de l'heure :)

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

21 avr. 2008, 16:26

Tu essayes quoi ?

Code : Tout sélectionner

mysql> SELECT NOW(); +---------------------+ | NOW() | +---------------------+ | 2008-04-21 16:28:24 | +---------------------+ 1 row in set (0.00 sec) mysql> SELECT TIME(NOW()); +-------------+ | TIME(NOW()) | +-------------+ | 16:27:43 | +-------------+ 1 row in set (0.09 sec) mysql> SELECT DATE_FORMAT(NOW(), '%d/%m/%Y') AS date, DATE_FORMAT(NOW(), '%H:%i') AS heure; +------------+-------+ | date | heure | +------------+-------+ | 21/04/2008 | 16:29 | +------------+-------+ 1 row in set (0.00 sec)

Eléphant du PHP | 206 Messages

21 avr. 2008, 16:46

Ton TIME doit surement renvoyer l'heure a partir d'un timestamp non?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

21 avr. 2008, 18:34

Ton TIME doit surement renvoyer l'heure a partir d'un timestamp non?
Ouais, possible en fait.

Désolé :)

Eléphant du PHP | 206 Messages

21 avr. 2008, 21:56

Pas de soucis lol

Merci en tout cas d'avoir répondu au sujet!

Bonne soirée

(je met en résolu)