Java & JavaScript


Home
Applets
Scripts
   Navigation:
 · Kontextmenü
 · Linkwechsler
   Dialogboxen:
 · Alert
 · Alert 2
 · Confirm
 · Prompt
   Animation:
 · Kreis
 · Kreis 2
 · Kreis 3
 · Drei Kreise
 · Spirale
 · Planetarium
 · Globus
   Grafik-Effekte:
 · Clipping
 · Clipping 2
 · Clipping 3
 · Alpha-Clipping
 · Fading
 · Wellenmuster
 · Wellenmuster 2
   Bildschirmschoner:
 · Proto
 · Marquee
 · Donut
 · Worm
 · Mondrian
 · Pacman
   Datum & Uhrzeit:
 · Countdown
 · Countup
 · Wochentag
 · Last Modified
   Fraktale:
 · Apfelmännchen
 · Apfelmännchen 2
 · Juliamenge
 · Juliamenge 2
 · C-Wert-Generator
   Mathematik:
 · Primzahlen
 · Primzahlen 2
   Verschiedenes:
 · Dynamic Popup
 · TextArea Counter
 · Warteschleife
 · Mausschreiber
Gäste
Kontakt

- JavaScript : Datum & Uhrzeit : Countup -


Ein Countup mit JavaScript, der Jahre, Monate, Tage, Stunden, Minuten und Sekunden seit einem beliebigen Zeitpunkt zählt.

Erfolgreich getestet mit Internet Explorer 5.5 und 6.0, Netscape 4.75, 6.1, 7.0 und 7.1, Mozilla 1.0, 1.21 und 1.4 sowie Opera 6.01, 7.01 und 7.23.

Im Countdown-Script wurden einfach der Start- und Ziel-Zeitpunkt miteinander vertauscht. Die Kalenderreform von 1582 (siehe Anmerkung beim Wochentag-Script) habe ich hier aber nicht berücksichtigt. (Wer von vor 1583 zählen möchte, muss noch ein wenig basteln :-).


Demo:

Wie die Zeit vergeht. Schon

ist das neue Jahrtausend alt.


Der Quelltext:

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

    <script language="JavaScript">
      var jahr=2001, monat=1, tag=1, stunde=0, minute=0, sekunde=0; // Start-Datum in MEZ

      function countup() {
        var startDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde);
        zielDatum=new Date(); // Aktuelles Datum

        // Countup erst berechnen und anzeigen, wenn Start-Datum überschritten wird
        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.countupform.countupinput.value=
              jahre+monate+tage+stunden+minuten+sekunden;

        }
        // Anderenfalls alles auf Null setzen
        else document.countupform.countupinput.value=
            "0 Jahre,  0 Monate,  0 Tage,  0 Stunden,  0 Minuten  und  00 Sekunden";

        setTimeout('countup()',200);
      }
    </script>
  </head>

  <body onload="countup()">
    <form name="countupform">
      <p>
        <input size="75" name="countupinput">
      </p>
    </form>
  </body>

</html>

Liegt das aktuelle Datum vor dem Start-Datum, werden nur Nullen angezeigt. Die Zählung beginnt dann automatisch, wenn das angegebene Start-Datum überschritten wird.


Download  Countup.zip (ca. 1 kb)




© 2001-2004 Albert Kluge - Alle Rechte vorbehalten
Impressum | Datenschutz | Nutzung | eMail