Page 1 sur 1

Extraire date du champ d'un flux rss

Posté : 07 oct. 2008, 13:52
par Kayak
Bonjour,


je suis confronté à un petit soucis dont je ne sais pas me dépatouiller : dans un flux rss en anglais je récupère un champs qui indique à la fois la date et l'heure locale sous cette forme : "10/7/08 7:34 AM Local Time".

Comme vous pouvez le constater la date est au format anglais c'est à dire mois/jour/année or je voudrais bien sur la transformer en format francais : jour/mois/année, ce qui donnerait 7/10/08.

Je sais que c'est faisable avec la fonction setlocale(LC_TIME, "fr_FR");. Seulement étant donné que le champ contient également l'heure et l'expression "Local Time" ca ne fonctionne pas dans mon cas.

Pouvez vous donc me dire s'il est possible d'extraire de ce champ uniquement la date puis la transformer au format francais ensuite ? En sachant que je voudrais tout de même afficher l'heure contenue dans ce champ à la suite...


J'avoue que je ne sais pas bien comment faire (ni même surtout si c'est faisable sans que ca soit trop compliqué).

Posté : 07 oct. 2008, 14:11
par guilt92
Bonjour,

Si tu es sur que le format de ce champs sera toujours DATE HEURE LOCAL TIME tu peux parser en fonction des espaces et ainsi récupérer les champs un par un...

Exemple :
$tab = split(" ","10/7/08 7:34 AM Local Time");
Cela te donne :
Array
(
[0] => 10/7/08
[1] => 7:34
[2] => AM
[3] => Local
[4] => Time
)
Ou encore la fonction explode()
$tab = explode(" ","10/7/08 7:34 AM Local Time",2);
Renvoi (à cause du parametre limite =2, sinon la meme chose que la précédente fonction)
Array
(
[0] => 10/7/08
[1] => 7:34 AM Local Time
)
Ainsi tu peux traiter chaque champs comme tu le veux et réafficher la date sous le nouveau format ainsi que l'heure...

Sinon avec les expressions régulières tu peux aussi te débrouiller pour récupérer ce que tu veux dans la chaine, mais si c'est toujours de ce format la c'est se compliquer la vie pour rien :)

Posté : 07 oct. 2008, 17:14
par Kayak
Oki c'est tout simple quand tu me l'expliques :D

Je savais que c'était possible dans l'absolu mais j'avais peur que ca demande un code plus compliqué que ca.

C'est bien je vais pouvoir facilement transformer l'heure US en heure française également avec ca.

Merci beaucoup, je vais aller regarder ca plus en détail !

:)

Posté : 08 oct. 2008, 13:59
par Kayak
Ca marche nickel, je te remercie