Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1058 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  addition date

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

addition date

n°1406222
mbarekh
Posté le 13-07-2006 à 11:41:26  profilanswer
 

Bonjour,
j'ai voulu faire une fonction javascript qui prend une date et un nombre de date et retourne une date en addtion les mois.
i.e:
 
addition_date(22/10/1983,2) retourne :22/12/1983
 
voilà mon code:

Code :
  1. function addition_date(date,nb_mois)
  2.    {
  3.     var j=date.getDate();
  4.     var a=date.getFullYear();
  5.     var m=date.getMonth()+1;
  6.     if (m>12) m-=12;
  7.     var new_date=new Date();
  8.     new_date.setDate(j);
  9.     new_date.setMonth(m);
  10.     new_date.setYear(a);
  11.     return(new_date);
  12.    }


 
 
 
mais ça ne marche pas. Est ce que quelqu'un peut m'aider?
merci d'avance

mood
Publicité
Posté le 13-07-2006 à 11:41:26  profilanswer
 

n°1406225
mbarekh
Posté le 13-07-2006 à 11:42:58  profilanswer
 

mbarekh a écrit :

Bonjour,
j'ai voulu faire une fonction javascript qui prend une date et un nombre de date et retourne une date en addtion les mois.
 
     
 
 


 
 
un nombre de mois j'ai voulou dire!

n°1406256
Bidem
Posté le 13-07-2006 à 12:14:06  profilanswer
 

Héhé l'erreur se situe à la ligne où tu utilises nb_mois :p

n°1406286
mbarekh
Posté le 13-07-2006 à 13:27:56  profilanswer
 

oui d'accord il fallait ajouter +nb_mois mais c'est pas ça le problème.  
le code ne retourne aucun réultat, il s'exécute même pas.

n°1406294
Bidem
Posté le 13-07-2006 à 13:38:18  profilanswer
 

Alors là il me faudrait une boule de crystal (ou que tu montres le code qui fait appel à la fonction)

n°1406300
mbarekh
Posté le 13-07-2006 à 13:42:12  profilanswer
 

je l'utilise par exemple:
 
<body onLoad="alert(addition_date('22/10/1983',2));">
 

n°1406318
Bidem
Posté le 13-07-2006 à 13:59:40  profilanswer
 

OK, je vois mieux. Si tu regardes ta console javascript tu vas voir des erreurs expliquant que dans ta fonction, la variable date n'a pas de méthode getDate()
 
Ce qui est normal, vu que tu lui passes une string en parametre...
 
l'équivalent qui doit marcher :

Code :
  1. <body onLoad="alert(addition_date(new Date(1983, 10, 22), 2));">


Message édité par Bidem le 13-07-2006 à 14:00:33
n°1406320
mbarekh
Posté le 13-07-2006 à 14:00:22  profilanswer
 

ok merci je vais essayer ça!

n°1406330
mbarekh
Posté le 13-07-2006 à 14:07:14  profilanswer
 

là c'est bcm mieux mais il me donne le mois de fevrier à la place de aout. j'ai du faire une gaffe de calcul, je vais vérifier ça. merci.

n°1406343
mbarekh
Posté le 13-07-2006 à 14:16:14  profilanswer
 

là j'ai préféré faire una autre fonction plus précise:
 
function addition_date(date,nb_mois)
    {
     var nb_mil_sec= date.getTime();
     var soustr= nb_mois*30*24*3600*1000;
     var res= nb_mil_sec - soustr;
     var new_date= new Date(res);
     return(new_date);
    }
 
mais là je ne comprends pas pourquoi il me retourne septembre au lieu de aout!

mood
Publicité
Posté le 13-07-2006 à 14:16:14  profilanswer
 

n°1406391
omega2
Posté le 13-07-2006 à 15:01:08  profilanswer
 

mbarekh > Dans ta nouvelle fonction, tu décales de x*30 jours mais la majorité des mois ont 28 ou 31 jours. En fait, on peut même dire qu'il n'y a jamais 3 mois d'affilé qui possédent 30 jours. Décaler la date de 3*30 jours est donc différents de décaler de trois mois.
 
A noter aussi qu'en javascript, janvier est le mois de numéro 0 et décembre celui de numéro 11. Le mois 10 est donc celui de novembre et le mois 8 celui de septembre.
C'est donc normal qu'un décalage en arriére de deux mois par rapport au mois de numéro 10 donne le mois de septembre.

n°1406470
mbarekh
Posté le 13-07-2006 à 15:52:31  profilanswer
 

ok omega2. merci pour les consignes ;)
j'ai enfin réussi à faire un truc qui marche :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  addition date

 

Sujets relatifs
addition de temps passés sur une pagedate derniere connexion
date et php : extraire le mois d'une date SQL (debutant)[VBA] Problème avec les formats de date
wxWidgets déclencher un evenement à une date préciseOracle dbtimzone date UTC
ADDITION ET SOUSTRACTION DE DATE EN SQL[C++] Donner la date system et addition de date
addition de date[C/C++] Addition de date
Plus de sujets relatifs à : addition date


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR