nebuchad34 Posté 13 Novembre 2007 Posté 13 Novembre 2007 (modifié) Bonsoir, je m'en remet à vous car je n'y connais strictement rien, que ça fait déjà une heure et demi que je cherche et que je n'ai rien trouvé. Voilà je suis en train de créer une page php qui me génère un flux rss à partir d'une base de donnée mysql (qui comprend toutes les news de mon site). Tout fonctionne parfaitement sauf la date qui affiche le 1er janvier 1970 (début standard du Time Stamp d'après ce que j'ai compris en charchant un peu sur google). j'assigne à une variable $date la date correspondante dans la base : $date=$lig["date_news"]; si je fait un echo $date à ce moment là j'obtient bien la valeur de "date_news" formatée ainsi Y-M-d H:i:s Or, en rss il faut que la date soit absolument formaté de la façon suivante : D, d M Y H:i:s +0100 j'ai essayé $datephp=date("D, d M Y H:i:s +0100", $date) mais c là que ça me renvoi le 1er janvier 1970. j'ai même essayé d'extraire les caractères de "date_news" avec la fonction substring() en bidouillant mais ça ne marche pas. Merci de votre aide. Modifié 13 Novembre 2007 par nebuchad34
captain_torche Posté 13 Novembre 2007 Posté 13 Novembre 2007 Avant d'effectuer $datephp = date("D, d M Y H:i:s +0100", $date), il faudrait que tu transformes ta première date en timestamp, la fonction date() n'acceptant qu'un timestamp (nombre de secondes depuis le 1er janvier 1970) en second paramètre. Pour cela, tu peux utiliser la fonction strtotime(), qui devrait fonctionner. <?php$date = strtotime($date);$datephp = date("D, d M Y H:i:s +0100", $date);?>
nebuchad34 Posté 13 Novembre 2007 Auteur Posté 13 Novembre 2007 non ça ne marche pas. J'avais espoir pourtant. Merci quand même. Je ne sais pas comment je vais m'en sortir...
captain_torche Posté 13 Novembre 2007 Posté 13 Novembre 2007 Qu'obtiens-tu quand tu fais $date = strtotime($date); ? Je viens de tester en local, ça fonctionne chez moi.
nebuchad34 Posté 13 Novembre 2007 Auteur Posté 13 Novembre 2007 (modifié) non c bon ça marche, mais il fallait rajouter les '' autour de $date dans strtotime: ça donne $date = strtotime('$date'); et là ça marche !!! Merci mille fois EDIT : en fait y'a pa sles guillemets, je me suis fait piéger par le cache de mon navigateur encore merci Modifié 13 Novembre 2007 par nebuchad34
Dan Posté 13 Novembre 2007 Posté 13 Novembre 2007 Sinon on peut aussi utiliser la fonction DATE_FORMAT() de mysql. C'est encore le plus simple à mon avis http://dev.mysql.com/doc/refman/5.0/fr/dat...-functions.html Dan
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant