webForumDet fria alternativet

Nedräkning

JavaScript

4 svar · 290 visningar · startad av eko

Medlem sedan juni 2002198 inlägg
Frågan#1

Det visar fel på 1 timme. Vad kan det vara för fel?

<script type="text/javascript">
var year = 2005;
var month = 5;
var day = 31;

var then = new Date(year,month-1,day);

function addZero(num){
  if(num<10)
    return "0"+num;
  else
    return num;
}

function runMany(){
	var now = new Date();
	if (now < then){
		var days  = Math.floor((then-now)/(1000*60*60*24));
		var hours = Math.floor((then-now-days*1000*60*60*24)/(1000*60*60));
		var mins  = Math.floor((then-now-days*1000*60*60*24-hours*1000*60*60)/(1000*60));
		var secs  = Math.floor((then-now-days*1000*60*60*24-hours*1000*60*60-mins*1000*60)/(1000));
document.getElementById('Visa').innerText=days + " DAGAR " + addZero(hours) + " TIMMAR " + addZero(mins) + " MINUTER " + addZero(secs) + " SEKUNDER";
	}
setTimeout("runMany();",100);
}

window.onload = runMany;
</script>
Medlem sedan sep. 20021 655 inlägg
#2

Det visas rätt tid för mig.
Jag ändrade till

var year = 2005;
var month = 1;
var day = 27;

och resultatet blev "06 TIMMAR" plus en del minuter och sekunder, vilket stämmer eftersom det är sex timmar och en del minuter och sekunder innan klockan är tolv.

Är du säker på att du har räknat rätt och att datorns klocka är rätt inställd?

Medlem sedan juni 2002198 inlägg
#3

Ja månad 1,2 och 3 funkar men testa att ändra till "var month = 4;" eller "var month = 5;" så kommer det att fattas 1 timme. :(

Medlem sedan juni 2002198 inlägg
#4

Finns det någon som kan hjälpa mig :q

Medlem sedan jan. 2003296 inlägg
#5

Det "försvinner" ju en timme i mars när vi ställer om klockorna till sommartid, så det är nog inget fel på din kod. Men jag ska å andra sidan inte påstå att jag har lusläst koden...

262 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)