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

JavaScript Discussion :

Affichage du mois en javascript


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Mai 2016
    Messages
    112
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 35
    Localisation : C�te d'Ivoire

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Mat�riel informatique

    Informations forums :
    Inscription : Mai 2016
    Messages : 112
    Par d�faut Affichage du mois en javascript
    Bonjour,
    un soucis avec mon script js.
    Tout marchait bien et voici qu'� ma grande surprise le num�ro du mois ne s'affiche plus correctement.
    Il affiche 00 au lieu de 01 pour le mois de Janvier. Je ne vois pas l'erreur.

    Ci-dessous le script en question:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
     
    //Vu que le mois est un chiffre (10 correspond à novembre), on va faire un tableau
    var tableauMois = new Array(
    'janvier',
    'février',
    'mars',
    'avril',
    'mai',
    'juin',
    'juillet',
    'août',
    'septembre',
    'octobre',
    'novembre',
    'décembre'
    );
     
    // Idem que pour les mois, sauf qu'en anglais la semaine commence par le dimanche
     var tableauJours = new Array(
     'dimanche',
     'lundi',
     'mardi',
     'mercredi',
     'jeudi',
     'vendredi',
     'samedi'
     );
     
    //affiche l'heure une seule fois
    function afficherDateHeure()
        {
    		// Contient toutes les infos que l'on a besoin ur la date et l'heure
    		var dateGlobale = new Date();
     
    		//On recupère l'année
    		var annee = dateGlobale.getFullYear();
     
    		//On recupère le numéro du mois
    		var mois = dateGlobale.getMonth();
     
    		/* var numeroMois = dateGlobale.getUTCMonth(); */
    		var numeroMois = dateGlobale.getUTCMonth();
     
    		//On recupère le numéro du jour
    		var jour = dateGlobale.getDay();
     
    		//Croyez moi, c'est le numero du jour, ... oui ça n'est pas très explicite.
    		var numeroJour = dateGlobale.getDate();
     
    		//On recupère l'heure
    		var heure = dateGlobale.getHours();
     
    		// On recupère les minutes
    		var minute = dateGlobale.getMinutes();
     
    		// On recupère les sécondes
    		var seconde = dateGlobale.getSeconds();
     
    		// Pas d'affichage du zéro après 10
    		if(numeroMois<10)
    		    { 
    		        // On ajout un "0" à la chaîen heure.
    		        numeroMois = "0" + numeroMois.toString();
    	        }
     
    		if(numeroJour<10)
    		    {
    				numeroJour = "0" + numeroJour.toString();
    			}
     
     
     
     
    		if(heure<10)
    		    { 
    		        // On ajout un "0" à la chaîen heure.
    		        heure = "0" + heure.toString();
    	        }
     
    		if(minute<10)
    		    {
    				minute = "0" + minute.toString();
    			}
     
    		if(seconde<10)
    		    {
    				seconde = "0" + seconde.toString();
    			}
    		//on assigne le bon mois
    	    mois = tableauMois[mois];
     
    		//on assigne le bon jour
    	    jour = tableauJours[jour];
     
    		// On recupère notre div "date__heure"
    		var dateHeure = document.getElementById("date_heure");
     
    		//On met la date et l'heure dans la div
    		dateHeure.innerHTML = " "+ numeroJour + "-" + numeroMois + "-" + annee + "</br>" + heure + ":" + minute + ":" + seconde;
    	}
    	// affichera toutes les secondes notre heure
     
    function afficherChaqueSecondeHeure()
        {
    		// On affiche une première fois l'heure pour éviter le blanc d'une séconde
    		afficherDateHeure();
     
    		var delai = 1000; // délai en milisécondes
    		// On crée un timer qui va "ticker" toutes les sécondes et afficher l'heure dynamiquement.
    		setInterval(afficherDateHeure, delai);
    	}
    Merci pour votre aide.

  2. #2
    Expert confirm� Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activit� : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par d�faut
    L'indexation d'un tableau commence � 0 pas � 1.

  3. #3
    Membre extr�mement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par d�faut
    c'est d'autant plus pratique ici, car les listes de jours ou de mois sont des tableaux circulaires.

    exemple:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    function f_Mois_Suivant(NoMois) {
      return ++NoMois %12;
    }
     
    console.log( f_Mois_Suivant(3) );  // -->4
    console.log( f_Mois_Suivant(11) ); // -->0

  4. #4
    Membre confirm�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Mai 2016
    Messages
    112
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 35
    Localisation : C�te d'Ivoire

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Mat�riel informatique

    Informations forums :
    Inscription : Mai 2016
    Messages : 112
    Par d�faut
    Vous pouvez m'aider svp?

  5. #5
    Expert confirm� Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activit� : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par d�faut
    Les m�thodes Date.prototype.getMonth() et Date.prototype.getUTCMonth() renvoient le num�ro du mois mais num�rot� de 0 � 11, donc si tu veux afficher le mois sous forme de nombre tu dois ajouter 1.

  6. #6
    Membre extr�mement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par d�faut
    Est-ce la r�ponse que tu recherches ?
    Code JavaScript : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
        var
          dateHeure    = document.getElementById("date_heure"),
          tableauMois  = [ 'janvier', 'février', 'mars',      'avril',   'mai',      'juin', 
                           'juillet', 'août',    'septembre', 'octobre', 'novembre', 'décembre' ],
          tableauJours = [ 'dimanche', 'lundi','mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi' ]
          ;
     
        setInterval(afficherDateHeure, 1000);
     
     
        function afficherDateHeure() {  
          let
            DH_Global = new Date(),                 // Contient toutes les infos que l'on a besoin ur la date et l'heure
            annee     = DH_Global.getFullYear(),   // On recupère l'année
            mois      = DH_Global.getMonth(),     // On recupère le numéro du mois
            jour_Sem  = DH_Global.getDay(),      // On recupère le numéro du jour de la semaine
            jour_Mois = DH_Global.getDate(),    // On recupère le numéro du jour dans le mois
            hrs       = pad(DH_Global.getHours(),2),
            mins      = pad(DH_Global.getMinutes(),2),
            secs      = pad(DH_Global.getSeconds(),2)
            ;
         dateHeure.innerHTML = `${tableauJours[jour_Sem]} ${jour_Mois} - ${tableauMois[mois]} [${pad((mois + 1),2)}] - ${annee} <br/> ${hrs}:${mins}:${secs} `;
        }
     
        function pad(n, len) { // ajout de 0 
          let s = n.toString();
          return '0'.repeat(Math.max(len - s.length, 0)) + s;
        };

  7. #7
    Membre confirm�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Mai 2016
    Messages
    112
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 35
    Localisation : C�te d'Ivoire

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Mat�riel informatique

    Informations forums :
    Inscription : Mai 2016
    Messages : 112
    Par d�faut
    Citation Envoy� par CosmoKnacki Voir le message
    Les m�thodes Date.prototype.getMonth() et Date.prototype.getUTCMonth() renvoient le num�ro du mois mais num�rot� de 0 � 11, donc si tu veux afficher le mois sous forme de nombre tu dois ajouter 1.
    CosmoKnacki, pouvez me dire ou est-ce que je dois ajouter "1" svp?

  8. #8
    Membre extr�mement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par d�faut
    Citation Envoy� par CosmoKnacki Voir le message
    donc si tu veux afficher le mois sous forme de nombre tu dois ajouter 1.

    ce qui veut dire dans ton code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    		//On recupère le numéro du mois
    		var mois = dateGlobale.getMonth();
     
    		/* var numeroMois = dateGlobale.getUTCMonth(); */
    		var numeroMois = dateGlobale.getUTCMonth();
    � remplacer par
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    		//On récupère le numéro du mois
    		var mois = dateGlobale.getMonth();
     
    		var numeroMois = mois +1; // mois de 1 à 12 au lieu de  zéro à 11
    et j'ai modifi� mon code pour afficher aussi le num�ro du mois.

    PS: utiliser le temps UTC est inutile ici. sauf si tu veux indiquer l'heure sur un autre fuseau horaire que celui de la machine h�te, et dans ce cas il faut pr�ciser lequel.

  9. #9
    Membre confirm�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Mai 2016
    Messages
    112
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 35
    Localisation : C�te d'Ivoire

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Mat�riel informatique

    Informations forums :
    Inscription : Mai 2016
    Messages : 112
    Par d�faut
    Merci bien � vous psychadelic, �a marche.
    Encore merci!

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. probleme d'affichage et erreur de javascripte
    Par tarik75 dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 15/10/2006, 02h10
  2. probleme d'affichage a cause de javascript
    Par cedre22 dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 15/03/2006, 13h15
  3. Affichage des mois dans une liste d�roulante
    Par Le Rebel dans le forum Langage
    R�ponses: 15
    Dernier message: 20/02/2006, 13h37
  4. [MySQL] Affichage des mois
    Par lechewal dans le forum PHP & Base de donn�es
    R�ponses: 11
    Dernier message: 06/02/2006, 11h23
  5. affichage ??? AIDER MOI !!!
    Par ismael80 dans le forum C++
    R�ponses: 6
    Dernier message: 16/08/2004, 15h22

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