Hannes Weninger: Time 1 ist nach Time 2

Hallo,

ich habe in meiner Appl. zwei Time strings (z.B. Time A: 06:45 und Time B: 02:45) und ich bin auf der Suche nach einer Javascript Funktion, die mir checkt, ob Time A vor Time B ist. Weiß vielleich jemand, wo ich so eine Funktion finden kann.

Danke! Hannes

  1. Hi Hannes,

    ich habe in meiner Appl. zwei Time strings (z.B. Time A: 06:45 und Time B: 02:45) und ich bin auf der Suche nach einer Javascript Funktion, die mir checkt, ob Time A vor Time B ist. Weiß vielleich jemand, wo ich so eine Funktion finden kann.

    Das könntest du mit der Funktion Date.parse(dateString) machen. Mit dieser Funktion kannst du aus den vorhanden Daten strings machen, die du dann einfach vergleichen kannst.

    Das würde dann in etwa so aussehen:

    Time_A = '1456862541'; // Tue Mar 01 2016 21:02:21 GMT+0100
    Time_B = '1456863981'; // Tue Mar 01 2016 21:26:21 GMT+0100
    

    Bis bald

    --
    Hosen sind Blau
    1. ich habe in meiner Appl. zwei Time strings (z.B. Time A: 06:45 und Time B: 02:45) und ich bin auf der Suche nach einer Javascript Funktion, die mir checkt, ob Time A vor Time B ist. Weiß vielleich jemand, wo ich so eine Funktion finden kann.

      Das könntest du mit der Funktion Date.parse(dateString) machen.

      Du hast anscheinend übersehen, dass er Uhrzeiten als Texte hat, "06:45" und "02:45" (das kommt davon, wenn man vor lauter Denglish-Gerede kein Deutsch mehr kann und von "Time Strings" redet). Mit Date-Funktionen wirst du da mangels Datum schon grundsätzlich nicht weit kommen.

      Für solche Angaben reicht ein einfacher Textvergleich der Form "06:45" < "02:45" (-> false), vorausgesetzt, es wird sichergestellt, dass einstellige Stunden immer eine führende 0 verpasst bekommen ("06:45", nicht "6:45") bzw. generell das Format hh:mm eingehalten wird.

      1. Hi Rumtopf,

        Du hast anscheinend übersehen, dass er Uhrzeiten als Texte hat, "06:45" und "02:45"

        Nein, ich bin davon ausgegangen, dass er Uhrzeiten meint. Und Uhrzeiten gehören immer zu einem Datum. Nenn es heute, morgen, von mir aus gestern. Um die Date-Funktion zu nutzen muss er lediglich ein Datum der Uhrzeit voranstellen.

        Bis bald

        --
        Hosen sind Blau
  2. Moin!

    ich habe in meiner Appl. zwei Time strings (z.B. Time A: 06:45 und Time B: 02:45) und ich bin auf der

    var t1 = parseFloat( "06:45".replace(':', '.') );
    var t2 = parseFloat( "2:01".replace(':', '.') );
    

    Jetzt sind es Zahlen. Für den Vergleich gut genug. Rechnen darf man damit aber nicht!

    Jörg Reinholz

    1. Hi,

      also das ist mal meine Function (ungetestet

      function isTimeBeforeOrEqual(time1, time2) {
          var t1 = parseFloat( time1.replace(':', '.') );
          var t2 = parseFloat( time2.replace(':', '.') );
          if(time1 <= time2) {
               return true;
          }
          return false;
      }
      

      [Jörg Reinholz: Ich hab mal mein Recht eingesetzt, die Beiträge zu korrigieren]

      1. Moin!

        Hi,

        also das ist mal meine Function (ungetestet

        function isTimeBeforeOrEqual(time1, time2) {
            var t1 = parseFloat( time1.replace(':', '.') );
            var t2 = parseFloat( time2.replace(':', '.') );
            if(time1 <= time2) {
                 return true;
            }
            return false;
        }
        

        Da ist aber noch was falsch, denn Du vergleichst die Strings time1, time2 statt t1 und t2.

        Also:

        function isTimeBeforeOrEqual(time1, time2) {
          return (parseFloat(time1.replace(':','.'))<=parseFloat(time2.replace(':','.')));
        }
        

        Jörg Reinholz

      2. Hallo Hannes Weninger,

        [Jörg Reinholz: Ich hab mal mein Recht eingesetzt, die Beiträge zu korrigieren]

        @Jörg Reinholz Es gibt einen Link zur Versionsgeschichte eines jeden Beitrags, sofern es verschiedene Versionen gibt. (2. Zeile im Kopf) So kann jeder sehen, wer was wann verändert hat. Du brauchst also nicht darauf hinzuweisen, dass du Beiträge editierst. ;-)

        Bis demnächst
        Matthias

        --
        Das Geheimnis des Könnens liegt im Wollen. (Giuseppe Mazzini)
      3. @@Hannes Weninger

            if(time1 <= time2) {
                 return true;
            }
            return false;
        

        Von der angesprochenen Verwechslung der Variablen abgesehen, ist das auch unnötig kompliziert.

        Wenn du dich verabreden willst, sagst du dann auch „Wenn es dir morgen um drei Viertel zwölf passt, dann antworte mit ja, ansonsten mit nein“? Oder fragst du „Passt es dir morgen um drei Viertel zwölf?“?

        Äquivalent in JavaScript: t1 <= t2 liefert einen booleschen Wert; genau diesen willst du zurückgeben:

        return (t1 <= t2);
        

        Ohne Wenn und Aber.

        LLAP 🖖

        --
        „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
        „Hat auf dem Forum herumgelungert …“
        (Wachen in Asterix 36: Der Papyrus des Cäsar)
        1. Hallo,

          Ohne Wenn und Aber.

          Jörg hat das in seinem Zweizeiler um 00:35 Uhr so schon umgesetzt. Aber gut dass du es auch noch mal sagst. Es gibt Dinge die kann man nicht oft genug sagen.

          Gruß
          Kalk