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 :

Récupérer une date comme du texte.


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 016
    Points : 308
    Points
    308
    Par défaut Récupérer une date comme du texte.
    Bonjour,

    J'ai une page PHP qui lit un fichier Exell.
    Dans ce fichier il y a une colonne qui contient des dates sous la forme "mercredi 18 Novembre 2014".
    Pour lire le fichier j'utilise PHPExel et je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $date 	    =$worksheet->getCellByColumnAndRow('1',$i)->getCalculatedValue();
    (...)
    echo /** On envoi du HTML pour exploiter le contenu des différentes variables et que ça s'affiche bien*/
    <<<HTML
    <p class="Tahoma_titre"><strong>Informations générales :</strong><BR>
    {$date}-{$heure}<BR>
    {$ville}-{$salle}<BR>
    </p>
    </html>
    HTML;
    Et la j'obtiens :
    Informations générales :
    42005-20 h 30
    Liège-Forum
    La date ne s'affiche pas dans le format qu'elle a sous exell.
    Du coup deux possibilités :
    - demander à PHP Exell d'afficher la date formatée jour, chiffre du jour, mois année (mais je n'ai pas trouvé comment).
    - faire en sorte que PHP Exell lise le contenu de la colonne comme du texte et le restitue tel quel (puisque dans Exell l'affichage est correct).

    Si quelqu'un sait me dire comment on fait ce serait cool parce que je sèche :-)

    Merci.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PHPExcel_Shared_Date::ExcelToPHPObject($objWorksheet->getCellByColumnAndRow(1, $i)->getValue())->format('d/m/Y')
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 016
    Points : 308
    Points
    308
    Par défaut
    Oui ça j'ai vu, c'est ce qui est dans la doc mais je ne parviens pas à le mettre en oeuvre.
    Je ne trouve pas les info sur la structure à donner à la place de d/m/Y ?

  4. #4
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 016
    Points : 308
    Points
    308
    Par défaut
    Pour être plus complet et que tout le monde comprenne.
    Si j'utilise cette méthode qui consiste à formater la date "dans PHP".
    J'obtiens :
    Informations générales :
    Thu/Jan/2015-20 h 30
    Liège-Forum
    Et selon moi (mais je me trompe peut-être) j'obtiendrais au mieux :
    Informations générales :
    Thu/18/Jan/2015-20 h 30
    Liège-Forum
    et moi ce que je veux c'est obtenir :
    Informations générales :
    jeudi 18 janvier 2015 - 20 h 30
    Liège-Forum
    A savoir exactement ce qui est affiché dans Excell.
    Je pense donc que la meilleure méthode serait de prendre le contenu de la cellule Excell en mode texte mais est ce possible ?

    Merci.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 66
    Points : 39
    Points
    39
    Par défaut
    Salut,

    Je ne connais pas cette classe donc ma remarque est peut être inutile mais tu ne peux pas utiliser les mêmes "convention" pour pour la fonction date de php ?

    exemple de la doc php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Affichage de quelque chose comme : Monday 8th of August 2005 03:12:46 PM
    echo date('l jS \of F Y h:i:s A');

    Sinon en moins propre, tu peux faire ça "à la main" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // Tu récupère ta date venant d'excel
    $date = 'Thu/18/Jan/2015-20 h 30';
    // Tu l'explose violement ;) (tu transforme le string en tableau)
    $arrayDate = explode('/', $date);
     
    // tu fais la traduction anglais/français
    $jour = array('mon' => 'Lundi' , 'Tue' =>'Mardi', 'Wed' => 'Mercredi', 'Thu' => 'Jeudi', ... );
    $mois = array('Jan' => 'Janvier', ...);
     
    // tu affiche ta chaine reconstruite
    echo $jour[$arrayDate[0]], ' ', $arrayDate[1], ' ', $mois[$arrayDate[2]], ' ', $arrayDate[3];
    // résultat : Jeudi 18 Janvier 2015-20 h 30

  6. #6
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 016
    Points : 308
    Points
    308
    Par défaut
    Bon je vais faire ça quand j'aurai le temps.
    Merci je crois en effet que c'est la seule solution.
    Je pensais que puisque ça s'affiche en Français dans Excell il y avait moyen de le récupérer sous forme de texte et donc de garder le Français mais pas moyen donc...
    Ben je vais faire le coup du tableau et en attendant me contenter de l'Anglais.

    Merci encore :-)

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    PHPExcel ne gère visiblement pas les versions locales comme le fait le logiciel Excel.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 016
    Points : 308
    Points
    308
    Par défaut
    Ben oui c'est pour ça que j'aurais voulu me servir de PHP Excel juste pour pécher le contenu des cellules sous forme de texte et laisser excell faire le reste mais bon tant pis :-)

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

Discussions similaires

  1. [Conception] Récupérer une date au format francophone
    Par HwRZxLc4 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 08/11/2006, 16h15
  2. [Système] Récupérer une valeur dans un texte
    Par Netoman dans le forum Langage
    Réponses: 2
    Dernier message: 09/07/2006, 14h54
  3. Réponses: 5
    Dernier message: 01/06/2006, 11h36
  4. extraire une date dans un texte
    Par fbu78 dans le forum Access
    Réponses: 1
    Dernier message: 06/10/2005, 23h12
  5. Réponses: 1
    Dernier message: 07/06/2005, 14h00

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