quanto manca

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
ciao a tutti
ho copiato quanto scritto nell'articolo "quanto manca ad una data", l'unica modifica che ho fatto per verificare data ingresso ed attuale è la seguente

document.write("dal "+data+" al "+passato+" mancano "+differenza+" giorni ");

che comunque non dovrebbe avere nessuna influenza sul calcolo
nella pagina ho inserito

HTML:
<script type="text/javascript">
	QuantoManca(31,12,2009);
</script>

e questo il risultato
dal Wed Feb 18 2009 10:16:23 GMT+0100 (ora solare Europa occidentale) al Dec,31,2009 mancano -694277 giorni

694277 tra oggi (18 feb) ed il 31.12.2009 i giorni che mancano mi semprano (un po') eccessivi
non capisco dove è l'errore
 
dimenticavo, posto il cod js

var mesi=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
function QuantoManca(giorno, mese, anno)
{
var data=new Date();
var gg=data.getDate();//non dovrebbe essere data.getDay() ???????
var mm=data.getMonth();
var aa=data.getYear();
var oggi=mesi[mm]+","+gg+","+aa;
var passato=mesi[mese-1]+","+giorno+","+anno;
var differenza=(Math.round((Date.parse(oggi) - Date.parse(passato))/(24*60*60*1000))*1);

document.write("dal "+data+" al "+passato+" mancano "+differenza+" giorni ");
}
 
dimenticavo, posto il cod js
Ciao gianni :)

Ho fatto copia/incolla del tuo codice e a me funziona perfettamente. Non saprei come mai da te non funziona (viste le ultime, inizio a pensare tu abbia gli spiriti nel PC :D)

Prova a controllare non ci sia magari qualche semplice (ma bastardo dentro!) errore di battitura.

var gg=data.getDate();//non dovrebbe essere data.getDay() ???????
il metodo .getDay() ritorna il valore numerico del giorno della settimana (0=domenica, 1=lunedì, ecc..)
 
ciao
inizio a pensare tu abbia gli spiriti nel PC
comincio a pensarlo anche io.
ho fatto due prove
1. ho copiato lo scripit che ho postatto (e che hai detto che funzia) e faato l'incolla nella speranza che l'aria di mr.wm gli avesse fatto bene: nulla da fare i giorni risultano sempre -694277
2. non so se il ragionamento è giusto (non conosco molto js), visto il numero assurdo ho provato/cercato di vedere cosa risultava dalla differenza dei due data.parse() e cioe

HTML:
 //var differenza=(Math.round((Date.parse(oggi) - Date.parse(passato))/(86400000))*1);
var differenza=(Math.round((Date.parse(oggi) - Date.parse(passato))*1);
//document.write("dal "+data+" al "+passato+" mancano "+differenza+" giorni ");
document.write(" mancano "+differenza+" senza calcolo");

in questo caso pagina bianca (:confused:)

il costrutto: (Date.parse(oggi) - Date.parse(passato) non dovrebbe restituire un numero?
 
ho capito cosa provoca l'errore, ma non capisco perchè accada

se stampo
document.write("dal " + data +" oggi al "+passato+" mancano "+differenza+" secondi ");
dove var data= new Date();

risulta assurdamente

dal Wed Feb 18 2009 14:29:38 GMT+0100 (ora solare Europa occidentale) oggi al Mar,20,2009 mancano -693991 giorni

se invece stampo
document.write("dal " + oggi +" oggi al "+passato+" mancano "+differenza+" giorni ");
dove
var oggi=mesi[mm]+","+gg+","+aa;

e
var gg=data.getDate();
var mm=data.getMonth();
var aa=data.getYear();


risulta
dal Feb,18,109 oggi al Mar,20,2009 mancano -693991 giorni
il risultato potrebbe anche essere giusto, ma perchè la vaviabile aa diventa 109???????
 
Sai qual è il problema? Tanto per cambiare, compatibilità cross-browser... :rolleyes:

Prima ho provato con IE7, e funziona alla grande. Con FF invece appare il problema.

Si tratta a questo punto di rendere compatibile lo script per entrambi.. e lascio a te il divertimento! (Che generoso che sono eh!?! :D)
 

Discussioni simili