begin process at 2012 02 13 13:14:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Pb avec les dates


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pb avec les dates

mardi 14 avril 2009 à 11:13:20 | Pb avec les dates

rhan_659

Bonjour

j'utilise la fonction suivante pour  calculer le nombre d ejours entre 2 dates

les dates que je récupère sont des strings au format JJ/MM/AAAA

et j'ai un petit souci avec l'objet Date1 dans certain cas il passe au mois suivant :

exemple le 23/03/2009 deviens le 23/04/2009

alert(Date1) renvois =>  Sun Apr 19 2009 00:00:00 GMT+0200
mais alert(Date1.getMonth()) renvois 3

je suis un peu perdu, j'ai du louper un truc mais quoi....

Merci

function nbDays(sDate1,sDate2){

   
    var nbYear = parseInt(sDate1.substring(6, 10),10)
    var nbMonth = parseInt(sDate1.substring(3, 5),10)
    var nbDay = parseInt(sDate1.substring(0, 2),10)
   

var date1 = new Date(nbYear,nbMonth,nbDay);


var date2 = new Date();
       
    if (sDate2 == "undefined" || sDate2 == null || sDate2 == ""){
       
        date2 = new Date(date2.getFullYear(),date2.getMonth(),date2.getDate());

    }else{
        date2 = new Date(parseInt(sDate2.substring(6, 10),10),parseInt(sDate2.substring(3, 5),10),parseInt(sDate2.substring(0, 2),10))
    }
   
    return    parseInt((date2.getTime()-date1.getTime())/86400000);
}

mardi 14 avril 2009 à 12:38:51 | Re : Pb avec les dates

Zobibol

Réponse acceptée !
Bonjour, le problème est du au fait qu'en javascript (et plein d'autre langages) les mois commencent à 0:
  0->Janvier
  1 ->Février...

du coup dans ta méthode de calcul, il faut retrancher un  au mois des dates passées en paramètres:
et voilà qui devrait résoudre le problème
function nbDays(sDate1,sDate2){

   
    var nbYear = parseInt(sDate1.substring(6, 10),10);
    var nbMonth = parseInt(sDate1.substring(3, 5),10) -1:
    var nbDay = parseInt(sDate1.substring(0, 2),10);
   

var date1 = new Date(nbYear,nbMonth,nbDay);


var date2 = new Date();
       
    if (sDate2 == "undefined" || sDate2 == null || sDate2 == ""){
       
        date2 = new Date(date2.getFullYear(),date2.getMonth(),date2.getDate());

    }else{
        date2 = new Date(parseInt(sDate2.substring(6, 10),10),(parseInt(sDate2.substring(3, 5),10)-1),parseInt(sDate2.substring(0, 2),10))
    }
   
    return    parseInt((date2.getTime()-date1.getTime())/86400000);
}
mardi 14 avril 2009 à 12:56:24 | Re : Pb avec les dates

rhan_659

bon sang ! mais c'est bien sur !!!

cétait ça, j'avais compeltement zapé ce détail !

merci


Cette discussion est classée dans : substring, parseint, date1, date2, sdate2


Répondre à ce message

Sujets en rapport avec ce message

Probléme au niveau du passage de 3 variables d'une jsp vers une autre [ par mimounireda ] j'ai une page jsp qui contient 2 champs text, la page doit renvoyer 3 variable : - id, - date1 qui se trouve dans le champs , - date2 qui se trouve da probleme avec formulaire [ par bech88 ] voila le code aider moi our la formulaires // fonction développée en Aout 2005 par Marie-Agnés Ménard - Conseil Général de Maine et Loire // cette f Fonction Javascript qui ne s'affiche pas dans les navigateur [ par Shikapowa ] Mesdames, Mesdemoiselles, Messieurs bonjour,Un petit post pour vousdemander conseil sur une chose qui me turlupine depuis plus d'une heure et que je n Problème boucle for [ par Fred2468 ] Bonjour,J'ai un soucis avec ma boucle for, quand je sors de celle-ci, il m'affiche la dernière valeur alors que j'aimerai qu'il m'affiche la case que Déplacé une info-bulle [ par Xiarea ] Bonjour, J'essai de déplacer une info bulle (un span), sans grand résultat pour le moment... Je souhaite que l'utilisateur puisse déplacer le conten probleme envoie de requete URL [ par sexandsun ] Bonjour a tous, Je poste un topic car je galere depuis un moment sur un probleme impossible a resoudre. J'ai cree un Viewer en javascript qui permet concaténation variables ... [ par mageek06 ] Bonjour j'ai ceci : [code=js]var date1j = document.getElementById("date1j"); var date1m = document.getElementById("date1m"); var date1a = document. form method get [ par cri83 ] Bonjour, Voici un code d'addition qui fonctionne mais je n'arrive pas à récupérer la valeur du résultat sur une autre page. De plus je voudrai change Utilisation automatique du alert? [ par udoryl ] function saisirCalculerEtAfficher(){ var pond = prompt("Entrez la note maximale possible pour cette evaluation","100"); var test = validerPonderati Verif Date1 > Date2 [ par enis ] Voici mon formulaire:<input type="text" name="DateArr" size="14" Value="JJ/MM/AA hh:mm" onFocus="this.value=''" onclick="DateDep.value=''"&


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales