Page 1 sur 1

Probleme format date timestamp

Posté : 25 mai 2006, 18:40
par otagun
Bonjour,
Je fais un site sur la formule 1 et je mets des news régulièrement. Les dates sont affichés dans le format [2006-05-25 15:11:45] et moi j’aimerais avoir une date du Style [25/05/2006 - 15:11].
Voila le code que j’utilise
[ <?php echo $row_actu['timestamp']; ?> ]
Elle se créent lors de l'enregistrement de la news c'est a dire lors de la création de l'enregistrement. Ces dates sont stockées dans un champ nommée timestamp et avec valeurs défault : CURRENT_TIMESTAMP. Voila et pour finir je les ressorts en les appelant avec <?php echo $row_actu['timestamp']; ?>. Voila et je cherche à organiser ces dates avec le format . [25/05/2006 - 18:05]

Pour info mon site ou il y'a le probléme et http://gof1.free.fr.

Posté : 25 mai 2006, 21:25
par Truc
Salut,

Il y a pleins de fonction de manipulation de dates regarde la doc ou encore un tuto pour exemple. (DATE_FORMAT() )

Posté : 26 mai 2006, 10:58
par otagun
Bon merci j'ai lut les consigne et tutos et j'avance . J'ai tout de même un petit probléme alors j'utilise ce script :
<?php $dateSQL = $row_actu['timestamp']; 
list($annee, $mois, $jour, $heure, $min) = explode("-", $dateSQL); 
$dateFR = $jour.'/'.$mois.'/'.$annee.' - '.$heure.':'.$min; ?> 
<?php echo $dateFR; ?>
Le but du script est de séparer les élément qui sont séparés par des "-" dans la date US. Le probléme c'est que les heures min sont séparé par des ":" et non des "-".
Le probléme se situe donc au niveau de la fonction explode. Il faudrait qu'il prenne en compte les deux "-" et ":" .
Si vous avez des solutions ?? :oops:

Posté : 26 mai 2006, 12:52
par Truc
Apparemment la date n'est pas sous forme de timestamp mais déjà sous un format de date et le type de champ de la Base un "datetime"

DATE_FORMAT() est donc la fonction qui serait le plus appropriée. Exemple tiré du tuto (donné en lien)

Code : Tout sélectionner

SELECT DATE_FORMAT(champ_date,'%d/%m/%Y') FROM table;
Tu n'aurais donc plus à t'occuper des explode.

Bien sûr tu dois ajouter des paramètres (ex. %d ) pour obtenir les données que tu souhaites tu les trouveras dans la doc Mysql (lien donné)

Posté : 26 mai 2006, 19:16
par otagun
Merci bon j'essaye avec cela :


Code :

$query_actu = "SELECT categorie, date_format(timestamp,'%d/%m/%Y %H:%i' ), titre, chapeau, photo, url FROM actu_gof1 WHERE NOT (categorie LIKE '%dossier%') ORDER BY `timestamp` DESC";



Puis je l'appelle dans ma page avec cela :


Code :

<?php echo $row_actu['timestamp']; ?>


mais rien qui s'affiche je vois pas le problème je commence a désespéré.

Posté : 27 mai 2006, 03:46
par Truc
<?php echo $row_actu['timestamp']; ?>
Il faudrait l'appeler comme le dans la requete avec la fonction donc
$row_actu['date_format(timestamp,'%d/%m/%Y %H:%i' )']
Mais bien trop long, il faut donc (pour plus de maniabilité) utiliser un alias (AS) dans la requete.
SELECT categorie, date_format(timestamp,'%d/%m/%Y %H:%i' ) as dte, titre, ...
Et ensuite l'appel:
$row_actu['dte']

Posté : 27 mai 2006, 12:08
par Invité
:D :D :D Merci c'est sa
Trop fort merci mille fois en fait c'était pas si dur merci encore!

Posté : 27 mai 2006, 14:32
par Truc
en fait c'était pas si dur merci encore!
Et bien non c'est pour cela que je t'ai laissé trouver seul :wink:

Un [Résolu]
si un modo passe par là (Cyrano :cry: )