Code:
// Ziel-Datum in MEZ
var jahr=2024, monat=6, tag=03, stunde=08, minute=00, sekunde=00;
var zielDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde);
function countdown() {
startDatum=new Date(); // Aktuelles Datum
// Countdown berechnen und anzeigen, bis Ziel-Datum erreicht ist
if(startDatum<zielDatum) {
var jahre=0, monate=0, tage=0, stunden=0, minuten=0, sekunden=0;
// Jahre
while(startDatum<zielDatum) {
jahre++;
startDatum.setFullYear(startDatum.getFullYear()+1);
}
startDatum.setFullYear(startDatum.getFullYear()-1);
jahre--;
// Monate
while(startDatum<zielDatum) {
monate++;
startDatum.setMonth(startDatum.getMonth()+1);
}
startDatum.setMonth(startDatum.getMonth()-1);
monate--;
// Tage
while(startDatum.getTime()+(24*60*60*1000)<zielDatum) {
tage++;
startDatum.setTime(startDatum.getTime()+(24*60*60*1000));
}
// Stunden
stunden=Math.floor((zielDatum-startDatum)/(60*60*1000));
startDatum.setTime(startDatum.getTime()+stunden*60*60*1000);
// Minuten
minuten=Math.floor((zielDatum-startDatum)/(60*1000));
startDatum.setTime(startDatum.getTime()+minuten*60*1000);
// Sekunden
sekunden=Math.floor((zielDatum-startDatum)/1000);
// Anzeige formatieren
//(jahre!=1)?jahre=jahre+" y, ":jahre=jahre+" y, ";
(monate!=1)?monate=monate+" Monate, ":monate=monate+" Monate, ";
(tage!=1)?tage=tage+" Tage, ":tage=tage+" Tage, ";
(stunden!=1)?stunden=stunden+" Std., ":stunden=stunden+" Std., ";
(minuten!=1)?minuten=minuten+" Min., ":minuten=minuten+" Min., ";
if(sekunden<10) sekunden="0"+sekunden;
(sekunden!=1)?sekunden=sekunden+" Sek.":sekunden=sekunden+" Sek.";
//document.getElementById("zeit").innerHTML =jahre+monate+tage+stunden+minuten+sekunden;
document.getElementById("zeit").innerHTML ="noch: "+monate+tage+stunden+minuten+sekunden;
setTimeout('countdown()',200);
}
// Anderenfalls alles auf Null setzen
else document.getElementById("zeit").innerHTML=
"0 Monate, 0 Tage, 0 Std., 0 Min., 00 Sek.";
}
in der html Datei binde ich den Code wie folgt ein und rufe die Funktion countdown() beim Laden der html Datei auf.