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 :

ajouter 8 mois à une date


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 65
    Points
    65
    Par défaut ajouter 8 mois à une date
    Bonjour,
    je cherche à pouvoir ajouter 8 mois à la date actuelle en javascript mais je n'arrive pas à y parvenir.
    J'ai essayé un truc comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var huitmois = new Date(getFullYear(), getMonth()+9, getDate());
    mais ca ne marche pas...

    Quelqu'un pourrait il m'éclairer?
    Merci beaucoup

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Salut,

    Si ta fonction getMonth() te retourne un chiffre entre 1 et 12, en ajoutant 8, tu auras un chiffre entre 9 et 20, ce qui n'est bon que pour les 3 premiers mois de l'année.

    Il faut que tu ajoutes 8, et si le résultat est supérieur à 12, que tu enlèves 12 au résultat.

    A+

  3. #3
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 65
    Points
    65
    Par défaut
    mais ya pas une technique plus simple pour faire ca?
    ca me parait un peu barbare...

  4. #4
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 65
    Points
    65
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    var maintenant = new Date(annee, mois-1, jour);
     
    var ajout8mois = maintenant.getMonth()+9;
     
    if(ajout8mois > 12)
    {
         ajout8mois = ajout8mois - 12; // + année
         var date8mois = new Date(getFullYear()+1, ajout8mois, getDate());	
    }
    else
        var date8mois = new Date(getFullYear(), ajout8mois, getDate());

    Ca te parait correct?

  5. #5
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    J'ai raconté n'importe quoi en plus, normalement ta méthode de départ aurait du fonctionner.

    Quand tu dis que ça ne marche pas, quel est le problème ? Il faut prendre en compte le fait que les mois n'ont pas le même nombre de jours, donc si tu ajoutes 2 mois à une date au 31/12, tu ne tomberas pas sur le 31/02 vu que le mois de février ne comprend pas autant de jour, mais tu tomberas en mars..

    Donc en gros tout dépend de ton besoin exact.

    A+

  6. #6
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Plus d'infos sur ce site.

  7. #7
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 65
    Points
    65
    Par défaut
    je vais retester la premiere methode pour voir....

    J'ai besoin de 8 mois en plus a + ou - 5 jours pret donc pas besoin d'etre super précis.

    Je recommence avec la premiere, je te tiens au courant

  8. #8
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 65
    Points
    65
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var date8mois = new Date(getFullYear(), getMonth()+9, getDate());
    alert('here->' + date8mois.getDate());
    quand je fais une alert, ca fait rien

  9. #9
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    As-tu vu le lien que je t'ai donné ?

    Quand tu dis que "ça fait rien", que veux-tu dire ?

  10. #10
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    si tu as une BDD derrière, fais lui faire l'opération !
    La gestion des dates y est généralement plus facile et moins ambigüe

    A+

  11. #11
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 65
    Points
    65
    Par défaut
    ben.. je vois pas l'alert...

  12. #12
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 65
    Points
    65
    Par défaut
    ouais ya une bdd derriere mais justement, je veux pas charger le serveur, je dois faire un controle de surface sur le poste client seulement

  13. #13
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Regarde dans ton navigateur la console Javascript pour voir ce qui se passe, parce que l'alert qui n'affiche rien, c'est une erreur de code.

    A+

  14. #14
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 65
    Points
    65
    Par défaut
    j'ai regardé la console, ya rien d'anormal, seulement je crois que c'est le contenu qu'il y a entre les parentheses qui merde, quand j'enleve le getFullYear(), getMonth.... que je laisse seulement new date(); ca marche.

  15. #15
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 65
    Points
    65
    Par défaut
    ah si ya une erreur la

    Erreur : getFullYear is not defined
    Fichier source : http://******js/principal.js
    Ligne : 134

  16. #16
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut


    A+

  17. #17
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 65
    Points
    65
    Par défaut
    ah voila, j'ai trouvé la faille.
    Voici la soluc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var aujourdhui_ = new Date();
     
    var date8mois = new Date(aujourdhui_.getFullYear(), aujourdhui_.getMonth()+8, aujourdhui_.getDate());
     
    alert(date8mois);
    Merci pour tout à tous

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

Discussions similaires

  1. Ajouter des mois à une date TDateTime
    Par yashiro41281 dans le forum Langage
    Réponses: 3
    Dernier message: 05/10/2007, 10h25
  2. [Dates] Ajouter des mois à une date
    Par tiger63 dans le forum Langage
    Réponses: 8
    Dernier message: 25/05/2007, 16h42
  3. Requête Access 2003 : Ajouter 6 mois à une date
    Par billy123 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 28/02/2007, 16h26
  4. [Dates] Ajouter un mois à une date
    Par Higestromm dans le forum Langage
    Réponses: 8
    Dernier message: 17/01/2006, 15h27
  5. ajouter 1 mois à une date dans une requete
    Par alain.lc dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 04/04/2005, 12h05

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