Chrischaaan: Uhr?!

hallo

ich hab mir daheim son krasses js uhrzeit script aus teilen von selfhtml und von ner andren seite zamgebastelt.
so.nun hab ich das ding in der schule abgeschrieben und da läuft das natürlich auch.
jetz geht aber in der schule die systemzeit immer vor und ändern können wir das nicht(adminrechte...).
jetz dacht ich mir halt meine eigene rechneruhr zu machen die richtig geht.

hier unten erst mal der code:

<html>
<head>
<script>
<!--
function uhr ()
 {
   var i = 1;

var AktuellesDatum = new Date();
   var jahr           = AktuellesDatum.getYear();
   var monat          = AktuellesDatum.getMonth()+1;
   var tag            = AktuellesDatum.getDate();

var stunden        = AktuellesDatum.getHours();
   var minuten        = AktuellesDatum.getMinutes();
   var sekunden       = AktuellesDatum.getSeconds();
   var milli          = AktuellesDatum.getMilliseconds();

var StdAusgabe = ((stunden  < 10) ? "0" + stunden  : stunden);
       var MinAusgabe = ((minuten  < 10) ? "0" + minuten  : minuten);
       var SekAusgabe = ((sekunden < 10) ? "0" + sekunden : sekunden);
       var MiSekAusgabe = ((milli < 10) ? "00" + milli : milli);
       var MiSekAusgabe = ((milli < 100) ? "0" + milli : milli);

var JahrAusgabe = ((jahr < 10) ? "0" + jahr : jahr);
       var MonAusgabe  = ((monat < 10) ? "0" + monat : monat);
       var TagAusgabe  = ((tag < 10) ? "0" + tag : tag);

window.document.Datum.Date.value=TagAusgabe+"."+MonAusgabe+"."+JahrAusgabe;
           window.document.Datum.Time.value=StdAusgabe+":"+MinAusgabe+":"+SekAusgabe+":"+MiSekAusgabe;

window.setTimeout ('uhr()',i);
 }
-->
</script>
</head>
<body bgcolor="#1D4C7B" ONLOAD="window.setTimeout ('uhr()',1000)">
<FORM NAME="Datum">
<INPUT SIZE=10 NAME="Time" class="field">
<INPUT SIZE=10 NAME="Date" class="field">
</form>
</body>
</html>

so.nun geht die schulzeit 6,5 minuten vor.hab ich mir gedacht, machste aus den zeilen

var minuten        = AktuellesDatum.getMinutes();
   var sekunden       = AktuellesDatum.getSeconds();

einfach

var minuten        = AktuellesDatum.getMinutes()-6;
   var sekunden       = AktuellesDatum.getSeconds()-30;

ging auch.aber wenn der bei 30 sekunden angekommen ist zählt der wieder rückwärts.also 29,28,27,26,25.....

und bei den minuten wird das nicht viel anders sein.

wie mach ich nun das der richtig zählt?
schwierig macht das ja auch noch das: wenn es zum beispiel 14:03 uhr ist dann muß der ja auch in der stunde was wegrechnen....

könnt ihr mir helfen?

bye,christian.

  1. Hi,

    var minuten        = AktuellesDatum.getMinutes();
       var sekunden       = AktuellesDatum.getSeconds();
    einfach
       var minuten        = AktuellesDatum.getMinutes()-6;
       var sekunden       = AktuellesDatum.getSeconds()-30;
    ging auch.aber wenn der bei 30 sekunden angekommen ist zählt der wieder rückwärts.also 29,28,27,26,25.....
    und bei den minuten wird das nicht viel anders sein.

    Falscher Ansatz.
    Du holst das aktuelle Datum mit
    var AktuellesDatum = new Date();
    Dann holst Du Dir mit getTime() die Millisekunden seit ..., ziehst davon ((6 * 60) + 30) * 1000 Millisekunden ab und setzt diesen Wert mit setTime(...).
    Und erst dann holst Du Dir die Einzelteile.

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    1. tachchen

      quasi so ?!

      var milli= AktuellesDatum.getMilliseconds()-((6 * 60) + 30) * 1000;

      und das hier ist die zeile die meinen text dann in mein ausgabefeld transportiert:

      window.document.Datum.Time.value=StdAusgabe+":"+MinAusgabe+":"+SekAusgabe+":"+MiSekAusgabe;

      nu hab ich das mit dem settime noch nich ganz gecheckt.
      wie meinst du das genau?

      bye

  2. Hallo,

    was Andereas sagen wollte ist:

    var AktuellesDatum = new Date();
       var millisekunden = AktuellesDatum.getTime()-(((6 * 60) + 30) * 1000)
       var neueZeit   = AktuellesDatum.setTime(millisekunden);

    der rest bleibt das selbe.

    Grüße
    Thomas

    1. tach

      da kommt bei mir aber folgendes raus:

      21:25:14:0-389654

      und die -389 bleibt fest und der rest zählt weiter.aber die zeit ist jetzt nicht weniger geworden :-(

      1. Hallo,

        da kommt bei mir aber folgendes raus:

        21:25:14:0-389654

        Bei mir funktioniert das einwandfrei:
        (bzw. was nicht geht ist das Jahreszahl unter Netscape 4.x, aber das unanbhängig von meinen Änderungen)

        <script type="text/javascript" language="JavaScript">
        <!--
        function uhr ()
         {
           var i = 1;

        var AktuellesDatum = new Date();
           var millisekunden = AktuellesDatum.getTime()-(((6 * 60) + 30) * 1000)
           var neueZeit   = AktuellesDatum.setTime(millisekunden);

        var jahr           = AktuellesDatum.getYear();
           var monat          = AktuellesDatum.getMonth()+1;
           var tag            = AktuellesDatum.getDate();

        var stunden        = AktuellesDatum.getHours();
           var minuten        = AktuellesDatum.getMinutes();
           var sekunden       = AktuellesDatum.getSeconds();
           var milli          = AktuellesDatum.getMilliseconds();

        var StdAusgabe = ((stunden  < 10) ? "0" + stunden  : stunden);
               var MinAusgabe = ((minuten  < 10) ? "0" + minuten  : minuten);
               var SekAusgabe = ((sekunden < 10) ? "0" + sekunden : sekunden);
               var MiSekAusgabe = ((milli < 10) ? "00" + milli : milli);
               var MiSekAusgabe = ((milli < 100) ? "0" + milli : milli);

        var JahrAusgabe = ((jahr < 10) ? "0" + jahr : jahr);
               var MonAusgabe  = ((monat < 10) ? "0" + monat : monat);
               var TagAusgabe  = ((tag < 10) ? "0" + tag : tag);

        window.document.Datum.Date.value=TagAusgabe+"."+MonAusgabe+"."+JahrAusgabe;
                   window.document.Datum.Time.value=StdAusgabe+":"+MinAusgabe+":"+SekAusgabe+":"+MiSekAusgabe;

        window.setTimeout ('uhr()',i);
         }
        //-->
        </script>

        http://www.meta-text.net/etc/time.gif

        Grüße
        Thomas

        PS: beachte bitte folgendes:

        <script>
        <!--

        //-->
        </script>
        bei dir war das falsch.

        1. hi

          ja jetz gehts bei mir auch.wer weiß was ich da verdreht hatte