kostenloser Webspace werbefrei: lima-city


Javascript Zeitabstand berechnen

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Hallo,
    ich habe ein tag/problem">Problem mit der folgenden Funktion, eigentlich soll Sie mir ausrechnen was an Zeit seit einem bestimmten Zeitpunkt vergangen ist, tut Sie aber nicht.

    function CalcOpti() {
      var now=new Date();
      var start=new Date(2014,12,11,18,0,0,0);
      var summertime=now.getTimezoneOffset()-start.getTimezoneOffset();
      var timediff=Math.floor((now.getTime()-start.getTime())/1000);
      document.OptiCalc.Optimal_Skillzeit.value         =Dauer(timediff);
      document.OptiCalc.Optimal_SkillzeitInSek.value    =timediff;
    }



    Als Value bekomme ich 685190 also knapp 8 Tage, es sollten aber einige mehr sein. Ich stehe da nun komplett auf dem Schlauch, könnt Ihr mir sagen was ich übersehe?

    LG Marco
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hallo aff3m1tw4ff3,


    also auf den ersten blick siehts so aus als ob du für deine variable start der funktion new Date 7 Parameter übergibst... da können eigentlich nur 6 hin


    lg hechma
  4. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Das ist für die Millisekunden, habe ich beim durchtesten irgendwann über Tante Google gefunden, der Fehler bleibt leider mit und ohne diese 0.
  5. airfield-manager

    Kostenloser Webspace von airfield-manager

    airfield-manager hat kostenlosen Webspace.

    Ich seh so spontan leider keinen Fehler.
    Aber wenn ich irgendwas such brech ich das ganze immer auf das kleinstmögliche runter.

    Bei dir würde das jetzt heissen welche Werte werden in Zeile 5 verarbeitet?
    Also für now.getTime() und start.getTime() möglicherweise sieht man ja da schon etwas komisches?
  6. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Morgens,

    ich hab mir die Werte mal ausgeben lassen, der Fehler scheint wohl im Wert start zu liegen.


    Also folgender Ablauf:

    Festlegen von Start,
    var start=new Date(2014,12,11,18,0,0);



    Ausgeben von Start,
    document.OptiCalc.Optimal_Skillzeit.value         =Datum(start);

    Ausgabe ist dann 1 Monat daneben.
    11.01.2015 18:00:00



    Bei now.getTime() kommt das heutige Datum mit der richtigen Uhrzeit raus, da kann der Fehler also nicht liegen. Mein Problem ist nun, wo versteckt sich dieser 1 Monat?
  7. aff3m1tw4ff3 schrieb:
    Ausgabe ist dann 1 Monat daneben.
    Nein, deine Erstellung vom Datum ist falsch. Die Monate gehen von 0-11 in JavaScript.

    var start=new Date(2014,11,11,18,0,0,0);
    ->Thu Dec 11 2014 18:00:00 GMT+0100 (Mitteleuropäische Zeit)

    w3schools schrieb:
    The getMonth() method returns the month (from 0 to 11) for the specified date, according to local time.

    Note: January is 0, February is 1, and so on.

    Ist natürlich auch beim erstellen eines eigenen Datums so.

    Beitrag zuletzt geändert: 20.1.2015 11:54:20 von c143
  8. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Och neeee, nicht auch hier wieder die Nummer „Zählen ab 0“. Da hab ich bei MySql schon so oft geflucht.

    var start=new Date(2014,11,11,18,0,0);


    So bekomme ich nun auch die richtige Ausgabe. Danke Euch und wieder etwas dazu gelernt.

  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!