countdown

by sinky

HTML

<div id="countdown"/>

JavaScript

countdown('#countdown', 2222, 2, 22, 22, 22, 22);
function countdown(elm, jahr,monat,tag,stunde,minute,sekunde){
target = document.getElementById(elm);


var zielDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde);
var timer;


timer = function() {
  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+" Jahre,  ":jahre=jahre+" Jahr,  ";

    t['jahre'] = (jahre!=1) ? jahre+" Jahre": jahre+" Jahr";
    t['monate'] = (monate!=1) ? monate+" Monate": monate+" Monat";
    t['tage'] = (tage!=1) ? tage+" Tage": tage+" Tag";
    t['minuten'] = (minuten!=1) ? minuten+" Minuten": minuten+" Minute";
    t['sekunden'] = (sekunden<10) ? "0"+sekunden;
    t['sekunden'] = (sekunden!=1) ? sekunden+" Sekunden": sekunden+" Sekunde";
    
    
    console.log(t.join(', '));

    }else{
      return false;
    
    }
};


}