2012-11-28 10 views
1

J'ai une question qui me rend fou, Ma tâche est d'analyser une date à partir d'une API et la transformer en format RFC 822, parce que le flux qui sort est une erreur de validationConvertir int-date en RSS PubDate RFC 822 PHP

la date de l'API ressemble à ceci:

<review created="2012-10-23 14:51:12.0"> 

J'ai une date dans la description faite par substr

$xtime = substr($review["created"], 0, 16); 
$jahr = substr($xtime,0,4); 
$mon = substr($xtime,5,2); 
$tag = substr($xtime,8,2); 
$datneu = $tag.'.'.$mon.'.'.$jahr; 

cette date seront render ed comme:

23.10.2012 

Pour le pubdate j'ai fait

$xtime = substr($review["created"], 0, 16); 
$xxl = $pubtime . " GMT"; 

rendu comme:

2012-10-23 14:51:12 GMT 

Et validateur W3C flux dit d'une manière non pas parce que valident pubDate n'est pas dans la RFC 822 sous forme

Sorry 

This feed does not validate. 

line 10, column 38: pubDate must be an RFC-822 date-time: 2012-10-29 11:51:23 GMT (5 occurrences) [help] 

      <pubDate>2012-10-29 11:51:23 GMT</pubDate> 

et il n eeds à ressembler à:

<pubDate>Wed, 02 Oct 2002 13:00:00 GMT</pubDate> 

je peux imaginer une solution hacky pour exprimer STH comme « si (mois = 01) {} actualmonth = Jan », mais je ne pas vraiment savoir comment faire de même avec les jours,

Aussi je ne suis pas trop à l'aise avec PHP, mais j'ai besoin de résoudre ce problème dès que possible.

espère que vous pouvez me aider, il doit y avoir une solution que je na pas trouvé à des questions similiar

concernant John

Répondre

1

yeaaaaah que travaillé pour moi, incroyable!

pour d'autres la solution exacte pour mon cas était


$before = "2012-10-23 14:51:12.0"; 


$timetwo = substr($before, 0, 16); 

$timethree = date_create_from_format('Y-m-d H:i:s', $timetwo); 

$timefinal = date_format(timethree, 'D, d M Y H:i:s'); 

$after = $timefinal . ' GMT' ; 


$after = "Mon, 23 Oct 2012 14:51:12 GMT"; 

Merci beaucoup pour les réponses rapides que vous êtes génial!

0

Cela a fonctionné pour moi ....

date("r", strtotime($yourdate)) 

$ yourdate était 27/10/2013 et je me suis Dim 27 Oct 2013 00:00:00 +0000

Questions connexes