melko: Wie vergleiche ich 2 Datumsvariable

Hallo!

Folgendes Problem: Hab einen Kalender und will sagenn wenn dt_datetime < dt_anreise dann soll er eine Fehlermeldung bringen. Nur wenn ich das sage, dann bekommen ich eine Fehlermeldung?! Wie vergleiche ich Datums?!

BIDDE DANKE

  1. Moin,

    guck mal hier : http://developer.irt.org/script/date.htm.

    cu mipu

    1. na ja da finde ich nicht das was ich brauche!! Und zwar ganz einfache größer oder kleiner?! Also ob ein Datum davor oder dahinter liegt!? Aber es geht nicht!
      if(dt_anreise > dt_datetime)

      so sieht die Bedienung jetzt aus und es funzt nicht!

      1. na ja da finde ich nicht das was ich brauche!! Und zwar ganz einfache größer oder kleiner?! Also ob ein Datum davor oder dahinter liegt!? Aber es geht nicht!
        if(dt_anreise > dt_datetime)

        so sieht die Bedienung jetzt aus und es funzt nicht!

        Moin,
        na dann schau dir nochmal dort "FAQ 217 How can I calculate the difference between two dates?" an.

        Leicht abgewandelt :
        <html><head><title></title>
        <script language="JavaScript">
        var laterdate = new Date(2004,7,1);
        var earlierdate = new Date(2004,6,1);
        var difference = laterdate.getTime() - earlierdate.getTime();
        var daysDifference = Math.floor(difference/1000/60/60/24);
        difference -= daysDifference*1000*60*60*24
        document.write('difference = ' + daysDifference);
        if (laterdate > earlierdate) {alert("bla")}
        </script></head><body></body></html>

        cu mipu

  2. hi,

    Folgendes Problem: Hab einen Kalender und will sagenn wenn dt_datetime < dt_anreise dann soll er eine Fehlermeldung bringen. Nur wenn ich das sage, dann bekommen ich eine Fehlermeldung?! Wie vergleiche ich Datums?!

    http://de.selfhtml.org/javascript/objekte/date.htm

    gruß,
    wahsaga

    --
    Windows Service Pack?
    Ich dachte bisher immer, das wäre eine verächtliche Bezeichnung für MCSE ...
  3. das interessante ist, dass wenn ich das ungleich zeichen verwende er rein geht in die Funktion jedoch aber wenn ich größer oder kleiner mache nichts passiert egal welche werte ich schreibe?!?
    if(dt_anreise != dt_datetime) -> so geht er rein
    if(dt_anreise < dt_datetime) -> und so nicht?!?

    Das ist ja zum verzweifeln?! Sind da vielleicht andere Vergleichsoperanden bei Zeitangaben?!

    1. hi,

      das interessante ist, dass wenn ich das ungleich zeichen verwende er rein geht in die Funktion jedoch aber wenn ich größer oder kleiner mache nichts passiert egal welche werte ich schreibe?!?
      if(dt_anreise != dt_datetime) -> so geht er rein
      if(dt_anreise < dt_datetime) -> und so nicht?!?

      Das ist ja zum verzweifeln?! Sind da vielleicht andere Vergleichsoperanden bei Zeitangaben?!

      ich vermute mal, dass deine "zeitangaben" schlichtweg strings sind - und die werden bekanntermaßen alphanummerisch sortiert.

      gruß,
      wahsaga

      --
      Windows Service Pack?
      Ich dachte bisher immer, das wäre eine verächtliche Bezeichnung für MCSE ...
    2. Hallo,

      das interessante ist, dass wenn ich das ungleich zeichen verwende er rein geht in die Funktion jedoch aber wenn ich größer oder kleiner mache nichts passiert egal welche werte ich schreibe?!?

      Woher kommen die Variablen dt_anreise und dt_datetime? Welche Inhalte stehen da drin?

      alert(dt_anreise);
      alert(dt_datetime);

      if(dt_anreise < dt_datetime) -> und so nicht?!?

      Was geben die alerts aus?

      Das ist ja zum verzweifeln?! Sind da vielleicht andere Vergleichsoperanden bei Zeitangaben?!

      Nein.

      viele Grüße

      Axel

      1. nein es sind schon datumsformate und beim alert kommt folgendes raus:
        dt_anreise: Fri Nov 12 15:45:18 UTC+0100 2004
        dt_datetime: Thu Nov 4 00:00:00 UTC+0100 2004

        1. Hallo,

          nein es sind schon datumsformate und beim alert kommt folgendes raus:
          dt_anreise: Fri Nov 12 15:45:18 UTC+0100 2004
          dt_datetime: Thu Nov 4 00:00:00 UTC+0100 2004

          Dann sollte ein Vergleich beider Werte funktionieren.

          var dt_anreise = new Date(2004,10,12,15,45,18);
          alert(dt_anreise);
          var dt_datetime = new Date(2004,10,4)
          alert(dt_datetime);
          alert(dt_anreise < dt_datetime);
          alert(dt_anreise > dt_datetime);

          viele Grüße

          Axel

        2. nein es sind schon datumsformate

          Im UNIX-Format. Autsch.

          und beim alert kommt folgendes raus:
          dt_anreise: Fri Nov 12 15:45:18 UTC+0100 2004
          dt_datetime: Thu Nov 4 00:00:00 UTC+0100 2004

          Mit Date.parse() kasste die so umwandeln, dass JavaSript damit was anfangen (z.B. vergleichen kann). http://de.selfhtml.org/javascript/objekte/date.htm#parse

          Gunnar

          --
          "(Der Student) kann sich so völlig dem hingeben, was er naiv für die Computerwissenschaft hält, also der bloßen Verfeinerung seiner Programmiertechniken, daß er sich auf diese Weise effektiv daran hindert, etwas wirklich Wesentliches zu studieren."
          (Joseph Weizenbaum in "Die Macht der Computer und die Ohnmacht der Vernunft")
  4. Folgendes Problem: Hab einen Kalender und will sagenn wenn dt_datetime < dt_anreise dann soll er eine Fehlermeldung bringen. Nur wenn ich das sage, dann bekommen ich eine Fehlermeldung?! Wie vergleiche ich Datums?!

    Du kannst ohne Problem zwei Date Objekte miteinander vergleichen:
    var x1 = new Date('Thu Nov 4 00:00:00 UTC+0100 2004');
    var x2 = new Date('Fri Nov 12 15:45:18 UTC+0100 2004');

    if( x1 > x2) alert ( x1 + ' ist später als ' + x2)
    else alert ( x1 + ' ist früher als ' + x2)

    var x1 = new Date('Thu Nov 14 00:00:00 UTC+0100 2004');

    if( x1 > x2) alert ( x1 + ' ist später als ' + x2)
    else alert ( x1 + ' ist früher als ' + x2)

    Struppi.