Date avec un Timestamp

Date avec un Timestamp - PHP - Programmation

Marsh Posté le 25-05-2006 à 15:58:24    

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']; ?> ]
Si quelqu’un peut m’aider merci . :)  
 
Pour info mon site ou il y'a le probléme et http://gof1.free.fr. :cry:

Reply

Marsh Posté le 25-05-2006 à 15:58:24   

Reply

Marsh Posté le 25-05-2006 à 16:03:16    

perso , j'utilise preg_match_all('/[0-9]+/',$date,$matches);
$matches[0] contient 2006  
$matches[1] contient 05
$matches[2] contient 25
$matches[3] contient 15
$matches[4] contient 11
$matches[5] contient 45
 
apres , il est facile de recomposer la date


---------------

Reply

Marsh Posté le 25-05-2006 à 16:31:45    

Oui merci mais j'espéré un truc plus simple avec la fonction de base que j'utilise quoi. Avec le timestamps c'est pas possible de le modifier un peu parce que ton programme j'y comprend pas grand chose pour etre fran.

Reply

Marsh Posté le 25-05-2006 à 16:42:13    

D'où sortent les dates ? Elles sont stockées en quel format ? Directement celui que tu as précisé ?
 
Voir http://fr2.php.net/date et DATE_FORMAT si ça vient d'une base MySQL.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 25-05-2006 à 18:16:53    

:cry: Oui en effet c'est a partir d'une base de donnée que je fais chercher les dates. 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] voila donc si tu veut bien m'aider un peu merci .

Reply

Marsh Posté le 25-05-2006 à 19:24:47    

http://dev.mysql.com/doc/refman/5. [...] tions.html
 
Voir DATE_FORMAT.
 
(J'ai supposé que c'était du MySQL...)


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 25-05-2006 à 19:48:07    

Merci mais je comprend rien et en plus c'est en anglais si tu sait le faire merci de m'aider. Pour info c'est effectivement MySQL. :cry:

Reply

Marsh Posté le 25-05-2006 à 20:09:08    

http://dev.mysql.com/doc/refman/5. [...] tions.html
 
Voilà en français... Tu cherches à DATE_FORMAT, les exemples me paraîssent très clairs, tu as des spécificateurs de format pour faire ce que tu veux...
 
SELECT DATE_FORMAT(date_de_ta_table, format) FROM...


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 26-05-2006 à 11:53:08    

otagun a écrit :

:cry: Oui en effet c'est a partir d'une base de donnée que je fais chercher les dates. 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] voila donc si tu veut bien m'aider un peu merci .


* En partant de la valeur $row_actu['timestamp'] que tu affiches actuellement sur ton site : preg_replace('#\[([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}:[0-9]{2}).*#', '[\\3/\\2/\\1 \\4]', $date_site);
 
* En partant directement du timestamp une fois la requête exécutée : date("[d/m/Y H:i]",$timestamp);
 
* Direct dans la requête : select date_format(timestamp,"[%d/%m/%Y %H:%i]" ) from...
 
Je ne pense pas avoir tout bien saisi donc il se peut que j'ai répondu à coté de la plaque... mais vu les réponses déjà données, ça devrait être ça :o

Reply

Marsh Posté le 26-05-2006 à 19:12:31    

Merci bon j'essaye avec cela :

Code :
  1. $query_actu = "SELECT categorie, date_format(timestamp,'%d/%m/%Y %H:%i' ),
  2. 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 :
  1. <?php echo $row_actu['timestamp']; ?>


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

Reply

Marsh Posté le 26-05-2006 à 19:12:31   

Reply

Marsh Posté le 26-05-2006 à 20:13:17    

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

 
Sans le AS, ça fontionne si tu récup le résultat de ta requête en index numumérique et non associatif.
 
(petit oubli de ma part :) )
 
Sinon, gaffe à ton "order by" aussi. Ca va trier en tenant compte du date_format (retour type string et non datetime), donc ça commencera le tri par les jours, puis les mois, puis l'année.
Il faut que tu rajoutes dans ton select le champ timestamp seul et faire l'order by dessus.
 
"SELECT categorie, date_format(timestamp,'%d/%m/%Y %H:%i' ) AS timestamp,
titre, chapeau, photo, url, timestamp AS TS_tri FROM actu_gof1 WHERE NOT (categorie LIKE '%dossier%') ORDER BY `TS_tri` DESC"

 
Ca devrait aller là :o

Reply

Marsh Posté le 27-05-2006 à 15:21:40    

Merci a tous le monde pour votre aide j'ai finalement trouvé. C'était pas si dur et cela ressemble au solution abordé.
donc pour info dans la requete je mets  
 
Code :
SELECT categorie, date_format(timestamp,'%d/%m/06 - %H:%i') as dte,...Et dans ma page  
 
Code :
<?php echo $row_actu['dte']; ?>Encore un grand merci a vous tous .

Reply

Marsh Posté le 27-05-2006 à 15:41:09    

Ca ne ressemble pas, c'est la solution que j'ai donnée :o :D
(t'as juste changé le nom du champ :p)
 
M'enfin, l'essentiel, c'est que ça marche :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed