Buongiorno a tutti, sto riscontrando un problema con javascript. In breve ho scritto un piccolo script per il calcolo della data della pasqua dato l'anno. L'algoritmo e tutto quanto funzionano, l'unica cosa è nell'ultima funzione, che mi da l'errore nel titolo. Mi sapreste dare un'idea del perché? Vi posto il mio codice:
function retrieveData(){
var anno = document.getElementById("anno").value.toString();
return anno;
}
function calcolaData(){
var anno = retrieveData();
if(anno > 1582){
var dataPasqua = 0;
var a = anno % 19;
var b = anno / 100;
var c = anno % 100;
var d = b/4;
var e = b % 4;
var f = (b+8)/25;
var g = (b-f+1)/3;
var h = (19*a +b -d - g + 15) % 30;
var i = c/4;
var k = c%4;
var l = (32 + 2*e + 2*i - h - k)%7;
var m = (a + 11*h + 22*l)/451;
var n = (h + l -7*m + 114)/31;
var p = (h + l -7*m + 114)%31;
var mese = n;
var giorno = p+1;
giorno = parseInt(giorno);
mese = parseInt(mese);
var data = {giorno: giorno, mese: mese};
document.getElementById("pasqua").innerHTML = "Pasqua "+anno+" cade il: " + data.giorno+" "+ associaNome(data.mese);
var giorniMancanti = quantoManca();
document.getElementById("mancanti").innerHTML = "Mancano " + giorniMancanti + "giorni"
return data;
} else {
alert("Inserire un anno successivo al 1582");
}
}
function cancella(){
document.getElementById("pasqua").innerHTML = "";
}
function associaNome(mese){
var YearMap = {1:"Gennaio", 2:"Febbraio", 3:"Marzo", 4:"Aprile", 5:"Maggio", 6:"Giugno", 7:"Luglio",
8:"Agosto", 9:"Settembre", 10:"Ottobre", 11:"Novembre", 12:"Dicembre"};
return YearMap[mese];
}
function quantoManca(){
var adesso = new Date();
var pasqua = new Date(retrieveData(), calcolaData().mese, calcolaData().giorno, 0, 0, 0, 0);
console.log(pasqua);
}
La funzione che da problemi è
quantoManca()
Grazie mille a tutti!