Ciao,
ci sto sbattendo la testa da un pò ma non ne vengo a capo. Ho la necessità di calcolare in automatico i giorni che intercorrono tra due date.
Ho il seguente script, ma affinchè si possa avere il calcolo è necessario cliccare sul bottone calcola.
Come posso fare affinchè il calcolo dei giorni avvenga in automatico dopo aver compilato i campi Dal-Al?
codice HTML:<form name="DiffG"> Calcolo dei giorni che intercorrono tra due date <br> Dal<br> <input id="DaG" name="DaG">/ <input id="DaM" name="DaM">/ <input id="DaA" name="DaA"> al <br> <input id="AG" name="AG" size="20">/ <input id="AM" name="AM" size="20">/ <input id="AA" name="AA" size="20"> <input type="button" value="Calcola" onClick="DiffDate();" id="button1" name="button1"></font> N.giorni<br> <input id="NG" name="NG"> </form> <script> //fUNZIONE DI CALCOLO DIFFERENZA GIORNI FRA DUE DATE function DiffDate() { DD=parseInt(document.DiffG.DaG.value) MM=parseInt(document.DiffG.DaM.value) YY=parseInt(document.DiffG.DaA.value) HR=0 MN=0 SS=0 with (Math) { HR = HR + (MN / 60) + (SS / 3600); GGG = 1; if( YY < 1582 ) GGG = 0; if( YY <= 1582 && MM < 10 ) GGG = 0; if( YY <= 1582 && MM == 10 && DD < 5 ) GGG = 0; JD = -1 * floor(7 * (floor((MM + 9) / 12) + YY) / 4); S = 1; if ((MM - 9)<0) S=-1; A = abs(MM - 9); J1 = floor(YY + S * floor(A / 7)); J1 = -1 * floor((floor(J1 / 100) + 1) * 3 / 4); JD = JD + floor(275 * MM / 9) + DD + (GGG * J1); JD = JD + 1721027 + 2 * GGG + 367 * YY - 0.5; JD = JD + (HR / 24); } DataStart=JD DD=parseInt(document.DiffG.AG.value) MM=parseInt(document.DiffG.AM.value) YY=parseInt(document.DiffG.AA.value) with (Math) { HR = HR + (MN / 60) + (SS / 3600); GGG = 1; if( YY < 1582 ) GGG = 0; if( YY <= 1582 && MM < 10 ) GGG = 0; if( YY <= 1582 && MM == 10 && DD < 5 ) GGG = 0; JD = -1 * floor(7 * (floor((MM + 9) / 12) + YY) / 4); S = 1; if ((MM - 9)<0) S=-1; A = abs(MM - 9); J1 = floor(YY + S * floor(A / 7)); J1 = -1 * floor((floor(J1 / 100) + 1) * 3 / 4); JD = JD + floor(275 * MM / 9) + DD + (GGG * J1); JD = JD + 1721027 + 2 * GGG + 367 * YY - 0.5; JD = JD + (HR / 24); } DataEnd=JD document.DiffG.NG.value=DataEnd-DataStart; } </script>
Grazie

Rispondi quotando
