IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Exploiter une date issue d'un flux RSS


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Par défaut Exploiter une date issue d'un flux RSS
    Bonjour à tous,

    je cherche depuis bien trop longtemps le moyen de convertir une date issue d'un flux Rss en une date plus "simple" du type ('d/m'). Je fais donc appel à vous car mes recherches n'ont rien données

    L'idéal serait d'afficher l'heure si le flux correspond à la date du jour et la date du flux sinon. Bref pour ce traitement je verrais mais pour le moment je ne sais pas comment faire une conversion.

    La date issue du Rss est de ce type: Sun, 19 May 2009 15:21:36 +02:00 et j'aimerai obtenir 19/05 (19 mai).

    Merci à vous

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Bonjour,

    Une possibilité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
      $laDate = 'Sun, 19 May 2009 15:21:36 +02:00';
      $elt = date_parse($laDate);
     
      $jour = ($elt['day'] < 10) ? '0' . $elt['day'] : $elt['day'];
      $mois = ($elt['month'] < 10) ? '0' . $elt['month'] : $elt['month'];
     
      echo $jour . '/' . $mois;
    ?>

  3. #3
    Membre chevronné
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Par défaut
    Salut !

    Regarde du coté de la fonction strtotime() qui cherche à convertir un texte en date :
    http://fr2.php.net/manual/fr/function.strtotime.php

    A++

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Par défaut
    Super cela fonctionne parfaitement, je vais étudier le code pour tenter de le comprendre, mais cela me parait compliqué . Il faut absolument que je trouve une explication si je ne comprends pas ^^
    Comment dois je faire pour récupérer l'heure uniquement ?
    Avec le même exemple avoir 15:21.

    Encore merci !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Par défaut
    Citation Envoyé par djayp Voir le message
    Salut !

    Regarde du coté de la fonction strtotime() qui cherche à convertir un texte en date :
    http://fr2.php.net/manual/fr/function.strtotime.php

    A++
    Je vais tester avec cette fonction, mais il me semble avoir tester mais sans résultat positif.
    Merci

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Par défaut
    Citation Envoyé par jeca Voir le message
    Bonjour,

    Une possibilité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
      $laDate = 'Sun, 19 May 2009 15:21:36 +02:00';
      $elt = date_parse($laDate);
     
      $jour = ($elt['day'] < 10) ? '0' . $elt['day'] : $elt['day'];
      $mois = ($elt['month'] < 10) ? '0' . $elt['month'] : $elt['month'];
     
      echo $jour . '/' . $mois;
    ?>
    Ok j'ai compris la fonction date_parse (assez simple pour récupérer les infos de date aprés), ceoendant je ne comprends pas trop ? '0' . $elt['day'] : $elt['day'];
    Tu sembles ajouter un zéro si le jour est inférieur à 10, mais je ne comprends pas la notation $elt['day'] : $elt['day'];

    Merci en tout cas cela fonctionne trés bien

  7. #7
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $jour = ($elt['day'] < 10) ? '0' . $elt['day'] : $elt['day'];
    est équivalent à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if($elt['day'] < 10)
    {
      $jour = '0' . $elt['day'];
    }
    else
    {
      $jour = $elt['day'];
    }

  8. #8
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Consulte le paragrphe "opérateur ternaire" dans cette page :
    http://www.php.net/manual/fr/languag...comparison.php

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Par défaut
    Citation Envoyé par Thes32 Voir le message
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $jour = ($elt['day'] < 10) ? '0' . $elt['day'] : $elt['day'];
    est équivalent à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if($elt['day'] < 10)
    {
      $jour = '0' . $elt['day'];
    }
    else
    {
      $jour = $elt['day'];
    }
    Merci beaucoup, il me semblait bien que c'était un équivalent mais je ne connais pas cette syntaxe trés courte !

    Merci à tous, sujet résolu :p

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Ajouter 15j à une date issue d'une requête
    Par gomick dans le forum Access
    Réponses: 7
    Dernier message: 27/01/2012, 11h35
  2. Constante chaine non terminée sur une donnée issue d'un flux RSS
    Par identifiant_bidon dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/07/2011, 10h01
  3. Copier/coller une date issue de la fonction aujourdhui()
    Par anthony_unac dans le forum Excel
    Réponses: 5
    Dernier message: 04/07/2008, 20h08
  4. [Dates] Date tiré d'un flux RSS
    Par nicaud dans le forum Langage
    Réponses: 1
    Dernier message: 03/01/2007, 18h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo