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

Autres composants PHP Discussion :

soucis affichage de la date


Sujet :

Autres composants PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 23
    Points : 11
    Points
    11
    Par défaut soucis affichage de la date
    Bonjour,

    J'ai un petit soucis pour le formatage d'une date.

    Je récupère une date de ma base de donnée au format YYY-MM-DD.

    Ensuite j'affiche cette date selon la localisation.

    Je fais donc : Zend_Date($date, $locale);

    Celà m'affiche bien : 16 mai 2013 00:00:00

    Malheureusement, je voulais juste la date et pas les heures.

    Comment ne pas avoir les heures, minutes et secondes en gardant l'affichage local ?

    Merci

    Merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    bonjour,

    on formate la date avec la méthode toString de zend_date:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     $d= new Zend_Date("2009-11-22");
          echo $d->toString('dd/MM/yyyy'); //22-11-2009
           echo $d->toString('dd MM yyyy'); //22 novembre 2009
    pour plus d'informations je te laisse regarder la doc:
    zend_date

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    je crois que tu n'as pas compris la question; je veux que l'affichage se base par rapport à la variable locale.

    Celle-ci se base sur la langue du navigateur.

    Si celui-ci est en Francais cela afficherait par exemple 16 avril 2013;
    en anglais April, 16 2013

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    cela ne change rien au problème car le but est d'afficher la date seule sans l'heure il suffit d'ajouter la locale(et pourtant tu l'as fais dans ton 1er message) comme paramètre de zend_date:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     $d= new Zend_Date("2009-11-22",$locale);
           echo $d->toString('dd MM yyyy')

    si ta locale est bien initialisée dans le boostrap la date sera bien affichée en fonction de la locale.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Je viens d'essayer et celà ne fonctionne pas.

    Voici un exemple concret :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $date = new Zend_Date('2013-05-16', 'en_US');
    echo $date;
    Ca me donne : May 16, 2013 12:00:00 AM

    Avec ce que tu me dis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $date = new Zend_Date('2013-05-16', 'en_US');
    echo $date->toString('dd MM yyyy');
    Cela me donne : 06 05 2013 et non May 16, 2013

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    excuse moi je croyais avoir mis 4M.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $date = new Zend_Date('2013-05-16', 'en_US');
    echo $date->toString('dd MMMM yyyy');

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Non, ce n'est toujours pas bon. Cela m'affiche bien dans la bonne langue mais pas au bon format.

    En francais, j'ai bien 16 mai 2013
    En anglais, j'ai 16 May 2013 et non May, 16 2013.

    Je n'ai pas le formatage selon la locale

  8. #8
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    d'accord.je viens de tester avec la méthode get de Zend_Date pour formater la date en fonction de la locale ça marche maintenant:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     $local=new Zend_Locale();
     
    $date= new Zend_Date('2013-05-16',$local);
           echo $date->get(Zend_Date::DATE_LONG);

    résultat des différentes locales:
    format en_US: May 16, 2013
    format fr_FR :16 mai 2013

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    marche nickel

    merci

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

Discussions similaires

  1. Affichage de la date système sous format jj/mm/anné:hh:mm:ss en Java 1.4
    Par arkienou dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 28/06/2006, 13h20
  2. [Dates] Affichage de la date
    Par xtiand4 dans le forum Langage
    Réponses: 10
    Dernier message: 27/06/2006, 18h43
  3. affichage de la date
    Par youcef81 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 16/06/2006, 11h07
  4. [VB6] mauvaise affichage d'une date
    Par robert_trudel dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 11/06/2006, 19h03
  5. affichage de la date sur forms 6i
    Par safou dans le forum Oracle
    Réponses: 4
    Dernier message: 06/10/2005, 11h58

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