format date

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

dudo
WRInaute impliqué
WRInaute impliqué
 
Messages: 367
Inscription: Sam Jan 10, 2004 17:28

format date

Message le Ven Mar 17, 2006 19:00

Bonjour,

N'etant pas très au fait de strtotime et date , je vous explique mon cas
si je parse un fichier xml au format
<pubDate>Wed, 15 Mar 2006 23:00:00 GMT</pubDate>
tout fonctionne tres bien, avec $date = date("d-m-Y", strtotime($item['pubdate']));

En revanche avec une date au format français
<pubDate>jeu., 16 mars 2006 10:02:00 GMT</pubDate>
plus rien sinon un 00/00/1970

Merci pour conseil ou exemple, cas utile par ailleurs

ludo

Code: Tout sélectionner
function FeedParser($url_feed, $nb_items_affiches=5)
{
  // lecture du fichier distant (flux XML)
  $rss = fetch_rss($url_feed);

  // si la lecture s'est bien passee, on lit les elements
  if (is_array($rss->items))
  {
    // on ne recupere que les elements les + recents
    $items = array_slice($rss->items, 0, $nb_items_affiches);

    //
    setlocale(LC_TIME, 'en', 'en_US', 'english');
   
    $html = "<div class=mnutabla>\n";
       
    // boucle sur tous les elements
    foreach ($items as $item)
    {
     
      $date = date("d-m-Y", strtotime($item['pubdate']));
      $html .= "<P class=a>$date <a href=\"".$item['guid']."\">";
      $html .= $title."</a></br>\n";

    }
    $html .= "</div>\n";
  }


sunflower
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 121
Inscription: Jeu Jan 05, 2006 20:09

Re: format date

Message le Ven Mar 17, 2006 20:26

dudo a écrit:<pubDate>Wed, 15 Mar 2006 23:00:00 GMT</pubDate>
tout fonctionne tres bien, avec $date = date("d-m-Y", strtotime($item['pubdate']));

En revanche avec une date au format français
<pubDate>jeu., 16 mars 2006 10:02:00 GMT</pubDate>
plus rien sinon un 00/00/1970


Salut, pour info:
strtotime -- Transforme un texte anglais en timestamp (fr2.php.net/manual/fr/function.strftime.php)

Pas de gestion de locale donc, le setlocale ne change rien. Par contre, la fonction strftime prend en compte la localisation (à condition de la lui spécifier au préalable avec setlocale).

Si tu ne sais pas comment arriveront tes dates (et si le français est la seule langue étrangère...), tu peux tester si le résultat convient avec la conversion ricaine, si ça te renvoie 1970: changer la locale en français (setlocale (LC_ALL, 'fr_FR');), revérifier. Rechanger la locale US, et gérer si la version fr est un succès ou non...
Hope this helps :)


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités