Aller au contenu

Reformater une date


Sujets conseillés

Posté (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é par nebuchad34
Posté

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);
?>

Posté (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 :thumbdown:

encore merci

Modifié par nebuchad34

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...