daniel: Datumsvergleich für Intervalle

Hallo,

könnt ihr mir einen Tipp geben, wie ich prüfen kann, ob sich zwei Datumsangaben in einem Intervall zueinander verhalten ?

Also ich habe Datum1 und Datum2 und möchte folgendes verifizieren:

1. Ich habe ein Intervall von drei Tagen. Befindet sich Datum2 in dem Intervall, beginnend von Datum1 ?
Ich möchte nämlich prüfen, ob ich ein Element anzeigen soll, wenn es nur beginnend von Datum1 alle drei Tage angezeigt werden darf.

2. Die gleiche Geschichte per Woche: Wie prüfe ich, ob ein Element angezeigt werden soll, wenn es nur beginnend von Datum1 alle X Monate angezeigt werden darf ?

3. Und das gleiche mit Monat ;-)

Wie gehe ich das PHP-technisch an ? Irgendwie habe ich mir jetzt schon den ganzen Morgen Gedanken gemacht, komme aber aufh keinen grünen Zweig.

Vielen Dank für eure Unterstützung,
Daniel

  1. moin

    1. Ich habe ein Intervall von drei Tagen. Befindet sich Datum2 in dem Intervall, beginnend von Datum1 ?
      Ich möchte nämlich prüfen, ob ich ein Element anzeigen soll, wenn es nur beginnend von Datum1 alle drei Tage angezeigt werden darf.

    also ich würd von dem datum einfach die sekunden seit der unixzeitrechnung nehmen, wären ja zwei werte, und dann prüfen, ob der wert größer dem ersten und kleiner dem zweiten ist

    1. Die gleiche Geschichte per Woche: Wie prüfe ich, ob ein Element angezeigt werden soll, wenn es nur beginnend von Datum1 alle X Monate angezeigt werden darf ?

    2. Und das gleiche mit Monat ;)

    des hab ich jetz nich ganz kapiert

    naja, ich hoffe das bringt dich weiter

    grüße

    PS: ich gebe nie garantien, dass meine lösungs(-ansätze) die besten sind

    1. also ich würd von dem datum einfach die sekunden seit der unixzeitrechnung nehmen, wären ja zwei werte, und dann prüfen, ob der wert größer dem ersten und kleiner dem zweiten ist

      Na, da hast du ja die Intervalle unberücksichtigt gelassen und nur geschaut ob das Datum 2 größer als Datum 1 ist.
      Gruß, Daniel

  2. Moin!

    könnt ihr mir einen Tipp geben, wie ich prüfen kann, ob sich zwei Datumsangaben in einem Intervall zueinander verhalten ?

    Für sowas gibts Feature-Artikel und Tipps&Tricks im SelfRaum.

    Ein Datumsproblem mit sich wiederholenden Terminen wird in http://aktuell.de.selfhtml.org/tippstricks/programmiertechnik/termine/index.htm relativ ausführlich besprochen.

    Ansonsten: Grundlage von Datumsberechnungen ist, dass alle beteiligten Daten auf einen Nullpunkt umgerechnet werden - die Einheit der Umrechnung könnte "Tage" oder "Sekunden" sein. Damit kannst du dann leicht feststellen, ob ein Termin B genau drei Tage hinter Termin A folgt, oder wie die Termine heißen, die regelmäßig alle 7 Tage auf einen Termin folgen.

    Bei Monaten hast du natürlich das Problem, dass nicht alle Monate die gleiche Zahl Tage haben - die Lösung hängt dort aber ohnehin von Details ab: Was ist, wenn jeden Monat am 31. ein Termin sein soll, der Monat aber nur 30, 29 oder 28 Tage hat. Kann man einfach auf den 1. des Folgemonats ausweichen, oder muß es eine Sonderbehandlung für "am letzten Tag des Monats" geben. Denn man kann ja kaum sagen, dass der Termin dann einfach auf den 30. verlegt wird - oder auf den 28., um ganz sicherzugehen.

    - Sven Rautenberg

    --
    "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)