phpbar.de logo

Mailinglisten-Archive

[php] Datumsvergleich?

[php] Datumsvergleich?

Arne Babnik babnik_(at)_zems.tu-berlin.de
Tue, 07 Mar 2000 19:19:57 +0100


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