dovrei confrontare 3 date:
- la attuale
- una di inizio
- una di fine
non riesco a fare i confronti con l'attuale..
qualcuno sa dirmi dove mi sono persa?
vi posto il codice
codice:
function controllo_data(stringa){
var espressione = /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/;
if (!espressione.test(stringa))
{
return false;
}
else{
anno = parseInt(stringa.substr(6),10);
mese = parseInt(stringa.substr(3, 2),10);
giorno = parseInt(stringa.substr(0, 2),10);
var data=new Date(anno, mese-1, giorno);
if(data.getFullYear()==anno && data.getMonth()+1==mese && data.getDate()==giorno){
return true;
}
else{
return false;
}
}
}
function confronta_data(data1, data2){
dataCorr = new Date();
giorno = dataCorr.getDate();
mese = dataCorr.getMonth();
anno = dataCorr.getYear();
data = anno+mese+giorno;
// controllo validità formato data
if(controllo_data(data1) &&controllo_data(data2)){
//trasformo le date nel formato aaaammgg (es. 20081103)
data1str = data1.substr(6)+data1.substr(3, 2)+data1.substr(0, 2); //inizio
data2str = data2.substr(6)+data2.substr(3, 2)+data2.substr(0, 2); //fine
//controllo se la seconda data è successiva alla prima
if (data2str-data1str<0) {
alert("La data iniziale deve essere precedente a quella finale");
}
if (data2str-data<0) {
alert("La data corrente deve essere precedente a quella finale");
}
if (data1str-data<0) {
alert("La data corrente deve essere precedente a quella iniziale");
}
}
else{
alert("Il formato data deve essere gg/mm/aaaa");
document.modulo.ggInizio.focus();
return false;
}
}
confronta_data(dataInizio, dataFine);