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 :

Comportement date très bizarre


Sujet :

JavaScript

  1. #1
    Membre du Club
    Femme Profil pro
    Webmaster
    Inscrit en
    Avril 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 61
    Points : 61
    Points
    61
    Par défaut Comportement date très bizarre
    Bonjour,

    Je ne comprends pas le comportement de ce script. Il est censé m'écrire la date voulue et son lendemain seulement...

    Un exemple qui fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var unjour = new Date("2014-11-15");
    alert(unjour);
    var sonlendemain = new Date();
    sonlendemain.setDate(unjour.getDate()+1);
    alert(sonlendemain);
    mais passé le mois de novembre ou certains jours, ça coince.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var unjour = new Date("2014-12-02");

    Quelqu'un peut m'aider et me dire où je faute ?

    Merci à vous.

    M_M

  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
    Ben c'est normal... tu prends la date du jour (var sonlendemain = new Date();) et tu lui affectes comme jour du mois celui de la variable unjour incrémenté de 1. Mais les autres infos (mois et année notamment) ne sont pas modifiées...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var unjour = new Date("2014-11-15");
    alert(unjour);
    var sonlendemain = new Date(unjour);
    sonlendemain.setDate(unjour.getDate()+1);
    alert(sonlendemain);

  3. #3
    Membre du Club
    Femme Profil pro
    Webmaster
    Inscrit en
    Avril 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 61
    Points : 61
    Points
    61
    Par défaut
    Bonjour et merci à toi Bovino, je pensais que le getDate+1 suffisait

    J'ai repris la date complète et c'est mieux sauf quand j'ai testé pour les derniers jours de mois et là ouille, je m'explique :

    2014-11-30 ne me renvoie pas au 1er décembre mais au 31 nov. 2014 qui n'existe pas.

    Encore mieux : le 31 décembre me renvoie au 32 décembre !!! (ca ferait un jour de l'an plus long mais bon )

    Je faute où encore ? Ca m'étonne qu'il faille tester toutes les dates...

    MM

  4. #4
    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
    C'est pas normal. JavaScript sait très bien ajuster les dates dans ces cas-là. Tu dois avoir une erreur dans ton code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var unjour = new Date("2014-12-31");
    var sonlendemain = new Date(unjour);
    sonlendemain.setDate(unjour.getDate()+1);
    console.log(sonlendemain.toLocaleString());  // 1/1/2015 01:00:00

  5. #5
    Membre du Club
    Femme Profil pro
    Webmaster
    Inscrit en
    Avril 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 61
    Points : 61
    Points
    61
    Par défaut
    Je confirme mon erreur ^^ et le très bon fonctionnement de ton code.

    Un grand MERCI à toi.

    Ca faisait un moment que je n'étais pas venue et suis ravie de voir que le "support" est toujours au rendez-vous

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

Discussions similaires

  1. Comportements très bizarres
    Par DotNET74 dans le forum Windows Phone
    Réponses: 4
    Dernier message: 23/06/2011, 12h09
  2. [AJAX] Comportement très bizarre besoin d'aide
    Par vallica dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/08/2007, 14h20
  3. différence reload et location + pb très bizarre pour experts
    Par grinder59 dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 09/01/2006, 12h05
  4. Problème très bizarre avec COUNT
    Par Nomade95000 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/10/2005, 14h12
  5. Réponses: 4
    Dernier message: 28/09/2002, 00h00

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