// Ziel-Datum in MEZ var jahr=2012; var monat=5; var tag=25; var stunde=18, minute=0, sekunde=0; var ort = 'Enschede (Region Twente)'; var url = 'http://etds.4happyfeet.nl/'; var zielDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde); function countdown() { var 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; /* Allgemeines Vorgehen: * Zunaechst werden die vollen Jahre gezaehlt * und anschliessend der Start- und Ziel-Monat auf den jeweiligen 1. gesetzt. * Nun werden erst die vollen Monate vom 1. zum 1. des Start- bzw. Ziel-Monats * berechnet und danach die tatsaechlichen Monatstage wieder mit einbezogen. * Dieses Vorgehen vermeidet Probleme mit den verschiedenen Monatslängen. * Was uebrig bleibt, wird in Tagen, Stunden, Minuten und Sekunden ausgedrueckt.*/ // Jahre if(startDatum=zielTag){ tage=restTage+1; }else{ monate++; startDatum.setDate(startTag); } } zielDatum.setDate(zielTag); // Tage restTage=Math.floor((zielDatum-startDatum)/(24*60*60*1000)); startDatum.setTime(startDatum.getTime()+restTage*24*60*60*1000); tage+=restTage; // 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+" Jahre, ":jahre=jahre+" Jahr, "; (monate!=1)?monate=monate+" Monate, ":monate=monate+" Monat, "; (tage!=1)?tage=tage+" Tage, ":tage=tage+" Tag, "; (stunden!=1)?stunden=stunden+" Stunden, ":stunden=stunden+" Stunde, "; (minuten!=1)?minuten=minuten+" Minuten und ":minuten=minuten+" Minute und "; if(sekunden<10){ sekunden="0"+sekunden; } (sekunden!=1)?sekunden=sekunden+" Sekunden":sekunden=sekunden+" Sekunde"; document.getElementById('etdscounter').innerHTML= "Noch "+monate+tage+stunden+minuten+sekunden+' bis zum nächsten ETDS in '+ort+'.'; window.setTimeout(countdown, 200); }else{ // Anderenfalls alles auf Null setzen document.getElementById('etdscounter').innerHTML= "Das ETDS läuft noch!."; } }