Bonjour,
Dans un script de validation de saisie, je compare deux dates.
Voci ma fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
 
	  //Retourne:
	  //   0 si date_1=date_2
  	  //   1 si date_1>date_2
	  //  -1 si date_1<date_2
 
function compare(date_1, date_2) {
       diff = date_1.getTime()-date_2.getTime();
       return (diff==0?diff:diff/Math.abs(diff));
}
Celle-ci semble très bien fonctionner sauf dans les cas où le mois de la deuxième date est 12. La fonction me retourne 1 alors qu'elle devrait retourner -1.
Mes dates sont sous forme de chaine de caractère et construite avec la fonction suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
           //On suppose que la date entrée a été validée auparavant
	  //au format dd/mm/yyyy
function getDate(strDate){	  
	day = strDate.substring(0,2);
	month = strDate.substring(3,5);
	year = strDate.substring(6,10);
	d = new Date();
	d.setDate(day);
	d.setMonth(month);
	d.setFullYear(year); 
	return d;  
}
Je ne vois vraiment pas où est le problème et sollicite votre aide.
Exemple d'appel problématique :
Date 1 : 01/01/2007
date 2 : 01/12/2007

Merci d'avance pour toute réponse


Sempire