2 Datums vergleichen

Katzehuhn

Erfahrenes Mitglied
Ich hab folgendens Problem: Ich will 2 Datums vergleichen, also
$heutiges = date("d.m", $timestamp);
und $altes steht in der datenbank als 00-00

if($heutiges >= $altes){
Tabelle wird rot makiert
}else{
}
Leider funktioniert das nicht ganz so wie ich mir das Vorgestellt hab
da er mir dann in etwa das ausgibt:

12.03 >= 01.04 ( er sagt das 12.03 größer ist als 01.04 von den zahlen gesehn aht er vm recht aba net vom datum^^)
Jemand ne Ahnung wie ich das hinbekomm? danke schon im vorraus
 
Zuletzt bearbeitet:
Es empfiehlt sich das Datum als Unix-Timestamp zu speichern, das erleichert
den Vergleich ungemein. Ansonsten halt zum Zwecke des Vergleichs in einen
solchen umwandeln mittels [PHPF]mktime[/PHPF].

p.s.: Und der Plural heißt trotzdem Daten! :rolleyes:
 
PHP interpretiert die Angaben jedenfalls nicht als Datum sondern entweder als Werte 12.03 und 1.04 oder als Text. Du musst die Daten entweder in einen Timestamp umwandeln (siehe _voodoo) oder vom Format her für den Vergleich "umdrehen", also erst Monat, dann Tag:
Code:
if (substr($heutiges, -2).substr($heutiges, 0, 2) >= substr($altes, -2).substr($altes, 0, 2))
Dass das Ganze ohne Jahresangabe nicht wirklich gut funktioniert (vor allem bei Daten mit einem Jahreswechsel dazwischen), lasse ich jetzt mal unkommentiert...

Martin
 
Ich erklär nochmal von neu, also in meine Tabelle wird das heutige Datum eingetragen u das Datum was in 20 Tagen ist eingetragen.

Code schaut so aus:

$timestamp = time();
$datum1 = $timestamp + (20 * 24 *60 *60);
$rueck = date("Y.m.d", $datum1);
$datum = date("Y.m.d", $timestamp);

$datum wird dann ins Feld heute geschrieben
$rueck wird dann ins Feld rueck geschrieben

(ich weis das heutige Datum eintragen ist eigentlich sinnlos aber is nur zu anschauungszwecken gedacht)

Mein Problem is jetzt das ich dann Abfragen will ob das heutige Datum diese 20 Tage schon überschritten hat.
.....
$timestamp = time();
$heutiges = date("Y.m.d", $timestamp);
while($row = mysql_fetch_object($result))
{
$da2 = $row->rueck;
$ru1 = $row->zw_id;
if($heutiges >= $da2){
echo "yau"
}else{
echo "kein jau"
}
}
.....

Nur wie schon gesagt funktioniert das nicht wirklich da er die 2 variablen nicht als Daten(^^) ansieht. Wie muss ich das jetzt "formatieren" das das klappt? Mein Englisch is leider nicht sonderlich gut deswegen hilft mit der Link net sonderlich viel(ja ok und einwenig Faulheit ist auch dabei;) ). Danke schon mal für eure Hilfe
 
Ich weiß nicht aber mit deinem letzten Post hast du dich selbst ins Abseits geschoßen!
Auf der Seite gibt es einen Link damit alles in Deutsch ist, außerdem ist diese Seite ein
MUSS für jeden PHP'ler, vor allem am Anfang. Aber ich will jetzt nicht Mami spielen und
dir erzählen müssen warum und wieso, wenn du nicht willst willste du halt nicht - viel Spaß
mit deinem Problem! Wenn jmd nicht lernen will lehre ich ihn nicht.

Und Martin's Beitrag scheinst du auch nicht gelesen zu haben.
 
oha das das auf deutsch geht hab ich net mitbekommen ehrlich, werd versuchen das ma selbst zu lösen, sry u danke
bzw martin seinen beitrag hab ich gelesen nur ich weis nicht was der befehl substring bewirkt daher hat mir das nicht wirklich geholfen

Edit:
Die Seite is ja geil, habs jetzt so gemacht:

if (substr($heutiges, 0, 4).substr($heutiges, 5, 2).substr($heutiges, -2) >= substr($te2, 0, 4).substr($te2, 5, 2).substr($te2, -2)) {

Danke noch mal für die Hilfe u sry wegen meiner Faulheit!
 
Zuletzt bearbeitet:
Zurück