André Laugks: getTime() - Millisekunden auswerten

Beitrag lesen

Hallo!

Ich habe eine Script geschrieben, was die Zeitdiffernz zwischen "jetzt" und z.B. dem 28.Mai 2000 10 Uhr berechnet!
Diesen String muß ich jetzt aber in eine vernünftige Zeitangabe umsetzen und zwar Tage, Stunden, Minuten, Sekunden. Das mache ich, in dem ich die Milisekunden durch 1000, 60, 24 usw. teile.
Ich muß eine Uhr erstellen, die rückwärts läuft, also ein Countdown, der so aussehen soll: 70 Tage 5 Stunden 10 Minuten 6 Sekunden. Das ganze soll dann wie die Uhr in selfhtml(DHTML) laufen, was kein Problem ist.

Was ist nun mein Problem!?
Ich rechne die Stunden aus, und bekomme einen Wert von z.B. 250 Stunden. In den 250 Stunden sind ja auch die Tage enthalten, und zwar 10 Tage und eine Zahl zwischen 23 und 1, hier also sind es 10 Stunden. Ich habe nun also die "wahren" Stunden rausgefunden.
Das ganze ziehe ich mit eine Schleife durch, siehe Script. Ich ziehe von den Stunden so lange 24 Stunden(1Tag) ab, bis die Zahl kleiner 24 ist. Das eigentliche Problem sind die Sekunden. Der InternetExplorer zeigt alles sofort an, Netscape braucht aber 5-6 Sekunden, bis er den Text schreibt. Ich denke, das liegt an der Schleife für die Sekunden. Gibt es eine Möglichkeit die Werte ohne Schleife zu ermitteln, also mit einer Formel z.B. oder einen Trick? Ich meine im Matheunterricht, es ist Jahre her, hat der Lehrer das mal gemacht!

var ende = new Date("May 28, 2000 10:00:00");
var jetzt = new Date();
e = ende.getTime();
j = jetzt.getTime();
var ist = e - j;

tage = Math.floor((ist/(1000*60*24*60)));
stunden = Math.floor((ist/(1000*60*60)));
minuten = Math.floor((ist/(1000*60)));
sekunden = Math.floor(ist/1000);

for(var i = 0; i < 1000; i++) { if(stunden >= 24) { stunden = stunden - 24; } else { break; } }
for(var i = 0; i < 1000; i++) { if(minuten >= 60) { minuten = minuten - 60; } else { break; } }
for(var i = 0; i < 100000; i++) { if(sekunden >= 60) { sekunden = sekunden - 60; } else { break; } }

document.write("Tage: " + tage + "<br>");
document.write("Stunden: " + stunden + "<br>");
document.write("Minuten: " + minuten + "<br>");
document.write("Sekunden: " + sekunden + "<br>");

mfg, André Laugks