Zeitzähler

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo

Ich möchte für meine HP ein Zeitzähler programmieren und in die HP einbauen. Ich habs schon mehrmals versucht, aber ohne Erfolg.
Der Zähler soll so aussehen: Der Zähler soll die Vergangene Zeit von einem bestimmten Datum und Uhrzeit ausrechnen und als Tage, Stunden, Minuten und Sekunden wiedergeben.

kann mir da jemand helfen?

mfg Christian
 
G

Gast

Gast
ich meine Javascript aber wie kann ich den Thread verschieben?
Ich bin doch Gast
 
B

bygones

Gast
immer mit der Ruhe - ist schon unterwegs :)

habe folgends irgendwo mal aufgegabelt:
Code:
<script language="JavaScript">
      // Ziel-Datum in MEZ
      var jahr=2004, monat=12, tag=18, stunde=0, minute=0, sekunde=0;
      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;

          /* Allgemeines Vorgehen:
           * Zunächst werden die vollen Jahre gezählt
           * und anschließend 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 tatsächlichen Monatstage wieder mit einbezogen.
           * Dieses Vorgehen vermeidet Probleme mit den verschiedenen Monatslängen.
           * Was übrig bleibt, wird in Tagen, Stunden, Minuten und Sekunden ausgedrückt.*/

          // Jahre
          if(startDatum<zielDatum) {
            while(startDatum<zielDatum) {
              if(startDatum.setFullYear(startDatum.getFullYear()+1)<=zielDatum) jahre++;
            }
            startDatum.setFullYear(startDatum.getFullYear()-1);
          }

          // Restliche Tage zum Monatsende ermitteln
          var restTage=0;
          var m=startDatum.getMonth();
          if(m==1-1|| m==3-1||m==5-1||m==7-1||m==8-1||m==10-1||m==12-1)
              restTage=31-startDatum.getDate();
          else if(m==4-1|| m==6-1||m==9-1||m==11-1) restTage=30-startDatum.getDate();
          else if(m==2-1) {
            if(startDatum.getFullYear()%4==0 && (startDatum.getFullYear()%100!=0
                || startDatum.getFullYear()%400==0))
                    restTage=29-startDatum.getDate(); // Schaltjahr
            else restTage=28-startDatum.getDate();
          }

          // Start- und Ziel-Tag merken und auf 1 setzen
          var startTag=startDatum.getDate();
          var zielTag=zielDatum.getDate();
          startDatum.setDate(1);
          zielDatum.setDate(1);

          // Monate
          if(startDatum<zielDatum) {
            while(startDatum<zielDatum) {
              if(startDatum.setMonth(startDatum.getMonth()+1)<=zielDatum) monate++;
            }
            startDatum.setMonth(startDatum.getMonth()-1);
          }

          // Tatsächlichen Start- und Ziel-Tag berücksichtigen
          if(startDatum.getMonth()==zielDatum.getMonth()) {
            if(startTag<=zielTag) startDatum.setDate(startTag);
            else {
              monate--;
              tage=restTage+1;
            }
          }
          else {
            startDatum.setMonth(startDatum.getMonth()+1);
            if(startTag>=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.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></head>
<body onload="countdown()" text="#000000" bgcolor="#FF8000" link="#FF0000" alink="#FF0000" vlink="#FF0000">
 <form name="countdownform">
      <p style="font-size:26px; font-weight:bold;" align="center">
       Es dauert noch: <input style="background-color:#FF8000; border:0px;" size="68" name="countdowninput"> 
      </p>
    </form>
 
Status
Nicht offen für weitere Antworten.

Oben