SaiYan5102
Messages postés69Date d'inscriptionvendredi 20 novembre 2009StatutMembreDernière intervention15 mars 2011
-
29 déc. 2009 à 14:46
SaiYan5102
Messages postés69Date d'inscriptionvendredi 20 novembre 2009StatutMembreDernière intervention15 mars 2011
-
29 déc. 2009 à 14:47
Bonjour,
Je sais des solutions pour comparer des dates en JS il en existe des tonnes sur le net mais moi je ne vois pas où mon code cloche. Je veux comparer des dates. Une fois pour voir si la date de début est bien supérieur à la date de fin et une autre fois pour voir si la date de début n'est pas antérieur à la date d'aujourd'hui.
Je récupéré des valeurs d'une TextBox associé à un CalendarExtender. Donc par défaut la TextBox contient la chaine "Cliquez ici" et une fois que l'utilisateur a cliqué un calenderier se déroule et il séléectionne sa date dedans, qui va s'afficher dans la TextBox au format dd/mm/yyyy.
La comparaison ne se fait apparement que sur les jours il prend pas le reste en compte.
Voici mon code
var dateDeb;
var dateFin;
var sysdate = new Date();
var madate = sysdate.getDate()+"/"+(sysdate.getMonth()+1)+"/"+sysdate.getFullYear();
if(document.form_res.datedeb.value != "Cliquez ici")
{
dateDeb = Date.parse(document.form_res.datedeb.value);
}
else
{
dateDeb = document.form_res.datedeb.value;
}
if(document.form_res.datefin.value != "Cliquez ici")
{
dateFin = Date.parse(document.form_res.datefin.value);
}
else
{
dateFin = document.form_res.datefin.value;
}
if((dateDeb "Cliquez ici" && dateFin "Cliquez ici") || dateDeb == "Cliquez ici" || dateFin == "Cliquez ici")
{
window.alert("Veuillez renseigner une date de début et une date de fin");
}
else if(madate > dateDeb)
{
window.alert("Votre réservation ne peut porter sur une date antérieure à la date actuelle.");
}
else if(dateFin < dateDeb)
{
window.alert("La date de fin doit être supérieure ou égale à la date de début");
}
...
Le contrôle dateFin < dateDeb ne fonctionne que sur les jours, il ne prend ni en compte le mois ni l'année. Pour le contôle madate > dateDeb il ne fonctionne pas du tout.