Fred: Erkennen von Datumsüberschneidungen

Hallo,

ich habe folgendes Problem und stehe irgendwie grad total auf dem Schlauch:

Ich habe 4 Eingabefelder für Datumsangaben (dd.mm.YYYY).

Feld 1 & 2 Definieren die Buchungszeiten für ein Einzelzimmer eines Hotels.
Feld 3 & 4 definieren die Buchungszeiten für ein Doppelzimmer.

Beispiel:
Buchung eines EZ vom 19.01.2008 - 22.01.2008
Buchung eines DZ vom 21.01.2008 - 23.01.2008

Bei den obigen Daten ist ja nun eine Überscheidung der Zeiträume vorhanden (EZ bis 22.1.; aber DZ schon vom 21.1. an)

Wie kann ich solche Überscheidungen per Javascript erkennen.
Umwandluch in ein "Date" Objekt usw klappt schon...

Vielen Dank schonmal im Vorraus :-)

  1. Hi,

    Wie kann ich solche Überscheidungen per Javascript erkennen.

    Am besten, in dem du dir das erst mal unabhaengig von der jeweiligen Sprache, in der es spaeter umgesetzt werden soll, ueberlegst.

    Male dir ein paar "Zeitstrahlen" auf, und zeichne dort jeweils einen der verschiedenen Faelle von "Ueberschneidung", die auftreten koennen, ein.
    Und dann schau dir an, welche Bedingungen Start- und Endzeitpunkt dabei jeweils erfuellen.

    Da das eine huebsche kleine Denkuebung ist, moechte ich hier jetzt gar nicht weiter vorgreifen - leg' erst mal los :-)

    MfG ChrisB

  2. Hallo Fred,

    Umwandluch in ein "Date" Objekt usw klappt schon...

    wie wäre es dann noch mit getTime() und dann die Millisekunden vergleichen?

    Gruß, Jürgen

  3. Wenn ich das richtig verstehe reduziert sich dein Problem darauf, ob ein Datum früher ist als ein anderes.
    Benutze doch einfach Date.UTC dafür. Dann musst du nur noch die beiden Zahlenwerte vergleichen und schon weißt du welches Datum früher ist (das kleinere)

    Hoffe konnte helfen, Cybie

  4. Wie kann ich solche Überscheidungen per Javascript erkennen.
    Umwandluch in ein "Date" Objekt usw klappt schon...

    Dann ist es ganz einfach, ohne irgendwelche Umwandlungen, kannst du Date Objekte vergleichen.

    var d1 = new Date('2007/01/01');  
    var d2 = new Date('2007/02/02');  
    alert(  
    d1 + '>' + d2 + '=' + (d1 > d2) +'\n' +  
    d1 + '<' + d2 + '=' + (d1 < d2)  
      
    );
    

    Struppi.