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

PHP & Base de données Discussion :

Problème d'affichage date


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2013
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 125
    Par défaut Problème d'affichage date
    Chers tous,

    J'ai un problème avec l'affichage des mois d'une année.

    Je dispose du code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $annee = 2013;
     
    	$dt = new DateTime($annee);
    	$date = array();
    	$di = new DateInterval('P1M');
    	for($i=1; $i<13; $i++)
    	{
    		$date[$i] = $dt->format('Y-M');
    		$dt->add($di);
    		echo $date[$i].'<br/>';
    	}
    Ce code affiche le suivant :
    2013-Feb
    2013-Mar
    2013-Apr
    2013-May
    2013-Jun
    2013-Jul
    2013-Aug
    2013-Sep
    2013-Oct
    2013-Nov
    2013-Dec
    2014-Jan

    Pourquoi le mois de janvier 2013 n'est pas affiché ?

  2. #2
    Membre confirmé
    Femme Profil pro
    Etudiante en informatique
    Inscrit en
    Janvier 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante en informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 98
    Par défaut
    Le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $date[$i] = $dt->format('Y-M');
    devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $date[$i] = $dt->format('M-Y');


    Format met en forme la date, M pour Month et Y pour Year. Tout simplement

    De plus, ton "DateTime" te donnes la date du jour, nous ne sommes pas en Janvier, c'est pour cela que ton code s'affiche à partir de février.

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Par défaut
    Bonsoir,

    si tu veut commencer en Janvier il faut lui préciser,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $annee = '2013-01';
     
    	$dt = new DateTime($annee);
    	$date = array();
    	$di = new DateInterval('P1M');
    	for($i=1; $i<13; $i++)
    	{
    		$date[$i] = $dt->format('Y-M');
    		$dt->add($di);
    		echo $date[$i].'<br/>';
    	}
    Dans ton cas il prend la date courante donc le mois de Février.

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    @Exia93
    avoir une variable nommée $annee et y coller dedans quelque chose du genre '2013-01', c'est pas super super.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
     
    $y    = '2013';
    $cur  = new DateTime("{$y}-01-01");
    $date = array(0 => '');
     
    while ($cur->format('Y') == $y)
    {
        $date[] = $cur->format('Y-M');
        $cur->modify('+1 month');
    }

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

Discussions similaires

  1. [AC-2010] Problèmes sur affichage dates dans table. Pourquoi ?
    Par Mickey7312 dans le forum VBA Access
    Réponses: 2
    Dernier message: 03/04/2015, 20h02
  2. [XL-2003] Problème d'affichage date
    Par idhmida dans le forum Excel
    Réponses: 4
    Dernier message: 04/07/2012, 11h51
  3. Réponses: 2
    Dernier message: 26/12/2006, 12h49
  4. Problème d'affichage de date sous access 2003
    Par FuNkY48 dans le forum Access
    Réponses: 7
    Dernier message: 11/12/2006, 14h04
  5. problème d'affichage de date
    Par Commodore dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 07/12/2005, 08h50

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