Hans: Datum-Countdown

Hi,
ich suche einen Countdown, der Tage, Stunden und Minuten runterzählt. Bei Google hab ich einen gefunden, der allerdings auch Sekunden anzeigt. Ich hab leider gar keine Ahnung von Java Script, also kann ich das auch nicht einfach umschreiben (wenn ich überall Sekungen rauslösche gehts nimmer...).

Könntet ihr diesen Quelltext vielleicht so ändern, das keine Jahre, Monate und Sekunden mehr angezeigt werden?

Vielen Dank

Hans

<html>
  <head>
    <title>Datum-Countdown mit JavaScript</title>

<script language="JavaScript">
      // Ziel-Datum in MEZ
      var jahr=2222, monat=2, tag=22, stunde=22, minute=22, sekunde=22;
      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+" 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.countdownform.countdowninput.value=
              jahre+monate+tage+stunden+minuten+sekunden;

setTimeout('countdown()',200);
        }
        // Anderenfalls alles auf Null setzen
        else document.countdownform.countdowninput.value=
            "0 Jahre,  0 Monate,  0 Tage,  0 Stunden,  0 Minuten  und  00 Sekunden";
      }
    </script>
  </head>

<body onload="countdown()">
    <form name="countdownform">
      <p>
        <input size="75" name="countdowninput">
      </p>
    </form>
  </body>

</html>

  1. Moin

    was dir angezeigt wird ist in diesen beiden Zeilen festgelegt:

    document.countdownform.countdowninput.value=
                  jahre+monate+tage+stunden+minuten+sekunden;

    wenn du nur Tage und Stunden angeueigt haben möchtest würde das so aussehen:
    document.countdownform.countdowninput.value=tage+stunden;

    Allerdings solltest du dich vielleicht mal selbst mit JavaScript beschäftigen, du könntest dann sicherlich bald ein besseres Script schreiben.

    Gruß
    rfb

    --
    Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
    (Galileo Galilei)
    1. Hi,

      was dir angezeigt wird ist in diesen beiden Zeilen festgelegt:

      document.countdownform.countdowninput.value=
                    jahre+monate+tage+stunden+minuten+sekunden;

      wenn du nur Tage und Stunden angeueigt haben möchtest würde das so aussehen:
      document.countdownform.countdowninput.value=tage+stunden;

      Allerdings muesste man dann fuer jedes Jahr noch 365 bzw 366 zu den Tagen dazuaddieren.

      mfG,
      steckl