Datum vergleichen ??!!??
Rud
- php
Hi,
Ich hab schonmal deswegen geschrieben, dann nochmal selber probiert, und schließlich schreib ich nochmal.
Ich versuche zwei Daten zu vergleichen:
[CODE]
$hilf=explode("-",$datum);
// $datum ist ein String im Format YYYY-MM-DD
$datum_eintrag =mktime(0,0,0,$hilf[1],$hilf[2],$hilf[0]);
$datum_jetzt =time();
$differenz =$datum_jetzt-$datum_eintrag;
if ($differenz < 2410219);
{
...
}
[/CODE]
Was ist mein Fehler ... ich verzweifle langsam.
Danke schonmal im Voraus.
Rud
Hallo.
$datum_eintrag =mktime(0,0,0,$hilf[1],$hilf[2],$hilf[0]);
Nicht ganz logisch von PHP, aber mktime hat eine eigene Reihenfolge für die Werte: http://de.php.net/mktime/:
int mktime ( [int Stunde [, int Minute [, int Sekunde [, int Monat [, int Tag [, int Jahr [, int is_dst]]]]]]] )
Bin da auch irgendwann verzweifelt...
Viele Grüße
Julian
Hi Julian,
ich denke das berücksichtigt zu haben:
$hilf [0] [1] [2]
2005 - 12 - 31
==> mktime (0,0,0 hilf[1], hilf[2], hilf[0]);
^ bis hier her klar
Ich denke nicht das es daran liegt.
Rud
Hi Julian,
ich denke das berücksichtigt zu haben:$hilf [0] [1] [2]
2005 - 12 - 31
==> mktime (0,0,0 hilf[1], hilf[2], hilf[0]);
^ bis hier her klarIch denke nicht das es daran liegt.
Rud
Ich habe es geraqde nochmal überprüft : es liegt definitiv NICHT an der Reihenfolge, die stimmt.
Ich bau mir mit dem 'script' ne HTML-seite zusammen. bei der Abfrage geht es nur darum den eintrag hervorzuheben oder ebend nicht.
if ($differenz > 1000000)
{
echo "<div class='1'>";
}
else
{
echo "<div class='2'>";
}
ich komm einfach nicht weiter - denkblockade ??
RUD
Hi,
echo "<div class='1'>";
echo "<div class='2'>";
Schon mal mit korrekten Klassennamen probiert?
cu,
Andreas
Hi,
echo "<div class='1'>";
echo "<div class='2'>";Schon mal mit korrekten Klassennamen probiert?
cu,
Andreas
Ja habe ich. sollte nur ein KURZES Beispiel sein (tippfaul).
Das löst mein prob immer noch nicht.
RUD
Hi Rud.
Ooops. Sollte genauer lesen und mitdenken. Tippen war schneller als Denken ;-)
Was versuchst Du eigentlich abzufangen mit dem if {... }? Habe Dein Skript mal bei mir laufenlassen und komme auf sinnvolle Ergebnisse. Teste doch mal vor der if-Ausgabe Deine Werte per Testausgabe:
echo "datum_eintrag: $datum_eintrag<br>";
echo "datum_jetzt: $datum_jetzt<br>";
echo "differenz: $differenz<br>";
Prüft die if-Abfrage wirklich auf 27,xyz Tage Differenz?
Viele Grüße
Julian
Hi Rud.
Ooops. Sollte genauer lesen und mitdenken. Tippen war schneller als Denken ;-)
Was versuchst Du eigentlich abzufangen mit dem if {... }? Habe Dein Skript mal bei mir laufenlassen und komme auf sinnvolle Ergebnisse. Teste doch mal vor der if-Ausgabe Deine Werte per Testausgabe:
echo "datum_eintrag: $datum_eintrag<br>";
echo "datum_jetzt: $datum_jetzt<br>";
echo "differenz: $differenz<br>";Prüft die if-Abfrage wirklich auf 27,xyz Tage Differenz?
Viele Grüße
Julian
Nein natürlich nicht: Der eigentliche Sinn ist die Dauer eines Acounts zu überprüfen un wenn 330 Tage um sin soll der Eintrag hervorgehober werden. Ich hab nur leider das Problem, das das Eintrags-Datum so ein Sch*** String ist.
RUD
Hi Rud.
Prüft die if-Abfrage wirklich auf 27,xyz Tage Differenz?
Nein natürlich nicht: ... wenn 330 Tage um sin
Denke, da steckt Dein Problem jetzt. Du prüfst auf Differenz < 2410219, wobei die Differenz in Sekunden errechnet wird. 2410219 Sekunden sind 2410219/60 min, 2410219/(60*60) h bzw. 2410219/(60*60*24) Tage. Wenn Du auf 330 Tage Differenz abfragen willst, so müsste es $differenz < 330*24*60*60 (=28512000) heißen.
Gute Nacht
Julian
Hi,
// $datum ist ein String im Format YYYY-MM-DD
na dann mach doch sowas hier http://de2.php.net/manual/de/function.strtotime.php
dadurch bekommst du solch einen code:
$datum_eintrag = strtotime($datum);
$datum_jetzt = time();
$differenz = $datum_jetzt-$datum_eintrag;
// testweise evt. erstmal nen kleinen wert im If nehemen, kann man ja dann beliebig hochsetzten
if ($differenz < 60);
{
// tu was
}
Nicht zu vergessen ist der else-zweig.
MfG
Hi,
du schreibst nicht wirklich, wie sich das Problem überhaupt äußert!? Ich würde aber mal davon ausgehen, dass dir ein wenig debugging helfen wird:
$hilf=explode("-",$datum);
// $datum ist ein String im Format YYYY-MM-DD$datum_eintrag =mktime(0,0,0,$hilf[1],$hilf[2],$hilf[0]);
echo $hilf[0] . '-' . $hilf[1] . '-' . $hilf[2] . '<br>';
$datum_jetzt =time();
$differenz =$datum_jetzt-$datum_eintrag;
echo $datum_jetzt . '-' . $datum_eintrag . ' = ' . $differenz;
Gruß,
Andreas.