Mailinglisten-Archive |
Michael Stahmann schrieb: > > Christian Hofmann schrieb: > > > Hallo! > > > > Wie mache ich den Vergleich am besten und was speichere ich in die > > Datenbank? Timestamp fällt wohl nun weg.... Da gibt es doch so etwas wie > > Datetime - oder? > > Aber das ist ja mit Zeit. Und überhaupt wie geben ich dieses Format an? > > > > ich hoffe es sind nicht zu viele und zu dumme Fragen... > > > > Wenn Du weist, das die Daten außerhalb des timestamps liegen, dann erhöhe doch > einfach immer beide Zahlen so, das Sie sicher im Bereich des timestamps sind. > Der Vergleich klappt dann richtig. Und das Ende der Unix-Epoche ist noch weit > entfernt. > > Sicher ist das eine unschöne Krücke, aber wenn es gut Dokumentiert ist, > verstehst Du es auch noch in fünf Jahren, wenn am Programm noch mal etwas > geändert werden muß. > > Ich habe bis jetzt keine andere Lösung - ohne timestamp - gesehen oder selbst > hinbekommen... Nur mal so eine Idee: Wieso berechnest du nicht mit allen drei Daten die Anzahl der Tage seit dem Jahr 1 ? In der Datenbank kann dann ein ganz normales DATE-Feld bleiben. Also Tagnummer = intval (Jahr*365,2525 + Tag + Monat[Monatsnr.]) mit Monat[1]=0 (Januar), Monat[2]=31 (Februar), Monat[3]=59 (März - kein Schaltjahr), Monat[4]=90 (April) usw. und Jahr vierstellig (2000 statt 00) Danach reicht ein einfacher Integervergleich. Für den beschriebenen Anwendungsfall ist ja eigentlich noch nicht mal eine Schaltjahrberücksichtigung erforderlich. Comments ? Gruss, Arne
php::bar PHP Wiki - Listenarchive