Datumsvergleich für Intervalle
daniel
- php
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
moin
- 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
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 ?
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
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
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