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 :

Modification de date


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 135
    Points : 53
    Points
    53
    Par défaut Modification de date
    Bonjour,

    Je suis en train de me tirer les cheveux, du moins le peu qu'il me reste.

    J'essaye de créer un objet date de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function affichedate(){
        d = new Date(2013, 7, 22);
     
        alert(d);
    }
    Mais j'obtiens la date suivante : Thu Aug 22 00:00:00 UTC+0200 2013

    Pourquoi il me met Jeudi 22 Aout?
    Ca devrait me mettre Lundi 22 Aout.

    Une idée?

    Lorsque je fais d=new Date();.
    Cela m'affiche bien la date de ce jours.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Les mois commencent à 0 !

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par itokia Voir le message
    ...Je suis en train de me tirer les cheuveux, ...
    Et quand cheuveux, cheupeux ! Ché cha, la volonté !

    Désolé...

  4. #4
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 135
    Points : 53
    Points
    53
    Par défaut
    Oups désolé pour la faute

    je suis d'accord que les mois commencent à 0, mais cela ne résous pas mon problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function Ajout7Jours(){
          var d_names = new Array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");
          var m_names = new Array("décembre", "janvier", "février", "mars", "avril", "mai", "juin", "juillet", "aout", "septembre", "octobre", "novembre");
          var myDate = new Date(2013,7,22);
          var numJour = myDate.getDate();
          var jour = d_names[myDate.getDay()];
          var mois = m_names[myDate.getMonth()];
          var annee = myDate.getFullYear();
          var d1 = jour + " " + numJour + " " + mois + " " + annee;
          var d2 = myDate.getDate()+" "+myDate.getDay()+" "+myDate.getMonth()+" "+myDate.getFullYear();
        alert(d1+"====>"+d2+"======>"+myDate);
    }
    Pour le mois c'est résolu, mais ca m'indique tout de même jeudi.
    Normalement ca devrait me mettre lundi.

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Bah... dans notre calendrier, le 22 août 2013 tombe un jeudi... tu n'y peux rien !

  6. #6
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    0 = Janvier
    ...
    7 = Août

    Le 22 août 2013 est un jeudi
    Le 22 juillet 2013 est un lundi.

  7. #7
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 135
    Points : 53
    Points
    53
    Par défaut
    Ok je vous remercie, je pensai que c'été juste le résultat en sortie qui commencé par 0.

    Donc si je souhaite lui donner une date en entrée, il va falloir que je fasse du genre : New date(2013 ,7 - 1, 22).

    J'ai bien compris? Mais où est ce qu'ils ont était chercher ca ces codeurs fous.

    Bon, je pense que je vais entrer la date au format texte

    Encore merci à vous.


    Pour ceux qui ca intéresse, j'ai trouvé une librairy sympathique, moment.js.
    Elle permet de manipuler facilement les dates (traduction, ajout de jours ...), tous ca pour seulement 6ko.

  8. #8
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    il ont été nulle part les mois js sont dans un tableau et un tableau commence à 0
    A+JYT

  9. #9
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Un truc qui n'a pas vraiment rapport avec la question mais qui peut t'intéresser. Personnellement, comme j'ai horreur des fonctions où l'ordre des arguments est important, je préfère faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var d = new Date();
    d.setFullYear(2013);
    d.setMonth(7);
    d.setDay(22);
    En faisant attention à bien assigner les unités les plus grandes d'abord, sinon il y a un risque de report. Par exemple si le mois est avril (30 jours) et que je fais date.setDate(31); je me retrouve le 1er mai.

    Pour ton code je pense que tu devrais revoir l'ordre des mois dans ton tableau m_names. Si on prend novembre dans ton tableau, il est à l'indice 11, alors que le numéro de ce mois selon l'objet Date, c'est 10. Il y a de quoi se tirer les cheveux en effet

    Sinon il y a toLocaleDateString qui existe depuis longtemps et qui est bien pratique !

  10. #10
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Citation Envoyé par Watilin Voir le message
    Pour ton code je pense que tu devrais revoir l'ordre des mois dans ton tableau m_names. Si on prend novembre dans ton tableau, il est à l'indice 11, alors que le numéro de ce mois selon l'objet Date, c'est 10. Il y a de quoi se tirer les cheveux en effet
    de plus dans ton tableau décembre à l'indice 0 alors que 0 c'est janvier
    A+JYT

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

Discussions similaires

  1. Modif de date par rapport à l'heure système
    Par froutloops62 dans le forum VBA Access
    Réponses: 3
    Dernier message: 25/08/2007, 01h35
  2. [CLI] Liste les modifications par date ?
    Par eplic dans le forum CVS
    Réponses: 0
    Dernier message: 03/08/2007, 12h06
  3. probleme de modification de date
    Par Katachana dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 27/06/2007, 11h33
  4. modification de date système
    Par badrel dans le forum Windows XP
    Réponses: 2
    Dernier message: 25/08/2006, 22h19
  5. fonction modification de date
    Par cormami dans le forum Access
    Réponses: 2
    Dernier message: 03/08/2006, 13h57

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