Forum
Comment localiser les dates d'un flux RSS?
2012-09-18
Rick
Salut, j'ai une question au sujet du lecteur RSS qui fonctionne parfaitement je dois dire. J'ai vu un billet à ce sujet sur le forum, mais ne n'arrive toujours pas au résultat escompté.
J'habite en Hollande donc tout est néelandais, mais la date est affichée comme ceci: Sat, 15 Sep 2012 00:00:00 GMT. Comment puis-je changer cela? Avec le format Date de PHP, mais où dois-je mettre cela dans le fichier rsslib? Salutation, Rick.
J'habite en Hollande donc tout est néelandais, mais la date est affichée comme ceci: Sat, 15 Sep 2012 00:00:00 GMT. Comment puis-je changer cela? Avec le format Date de PHP, mais où dois-je mettre cela dans le fichier rsslib? Salutation, Rick.
2012-09-18
scriptol
Salut.
En fait la date est une chaîne extraite de la balise pubdate. Le format est celui qui est donné par le générateur RSS, vous pouvez changer cela, il y a sûrement sur le Web quelque script pour le faire.
C'est quelque chose que vous pouvez le changer dans la fonction RSS_tags:
Cordialement,
le webmaster
En fait la date est une chaîne extraite de la balise pubdate. Le format est celui qui est donné par le générateur RSS, vous pouvez changer cela, il y a sûrement sur le Web quelque script pour le faire.
C'est quelque chose que vous pouvez le changer dans la fonction RSS_tags:
$y["date"] = convert($date);La fonction convert doit être ajoutée.
Cordialement,
le webmaster
2013-04-11 18:58:01
Scriptol
Mon travail pour répondre à une question récente apporte des informations supplémentaires sur ce problème.
D'abord il vous faut supprimer le jour de la semaine au début:
Ainsi la fonction convert pourrait ressembler à ceci:
D'abord il vous faut supprimer le jour de la semaine au début:
$phpdate = substr($y['date'],5);ou selon la fonction où vous voulez mettre le code:
$phpdate = substr($date,5);Et ensuite vous convertissez la date en timestamp:
$timestamp = strtotime($phpdate);Finalement vous pouvez afficher la date dans tout format et toute localisation avec la fonction qui convient:
setlocale(LC_TIME, "nl_NL"); $pubdate = strftime("%V,%G,%Y", $timestamp);$pubdate doit être maintenant affiché à la place de $y['date']; Vous pouvez replacer "nl_NL" par la localisation de n'importe quel pays (pour la France ce serait fr_FR).
Ainsi la fonction convert pourrait ressembler à ceci:
function convert($d) { $phpdate = substr($d, 5); $timestamp = strtotime($phpdate); setlocale(LC_TIME, "nl_NL"); return strftime("%V,%G,%Y", $timestamp); }