Probleme format date timestamp

otagun
Invité n'ayant pas de compte PHPfrance

25 mai 2006, 18:40

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.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

25 mai 2006, 21:25

Salut,

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

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

otagun
Invité n'ayant pas de compte PHPfrance

26 mai 2006, 10:58

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:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 mai 2006, 12:52

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

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

otagun
Invité n'ayant pas de compte PHPfrance

26 mai 2006, 19:16

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

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 mai 2006, 03:46

<?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']

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Invité
Invité n'ayant pas de compte PHPfrance

27 mai 2006, 12:08

:D :D :D Merci c'est sa
Trop fort merci mille fois en fait c'était pas si dur merci encore!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 mai 2006, 14:32

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

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute