Datum sortieren?!
David
- php
0 frankx0 Tom0 Jeena Paradies
Moin!!
Gibt´s eigentlich eine Funktion, mit der ich testen kann, welches meiner beiden Datums in der Zukunft liegt?
/*Beispiel*/
$today=date("d.m.Y");
$test="03.01.2008";
if ($today<$test)
{
echo"<br>Der $today ist kleiner als der $test";
}
else
{
echo"<br>Der $today ist größer als der $test";
}
/*so geht´s nämlich nicht*/
Bin ich jetzt gezwungen, meine beiden Variablen zu invertieren:
also:
$invertiert="";
$invertiert .=$test[6];
$invertiert .=$test[7];
$invertiert .=$test[8];
$invertiert .=$test[9];
$invertiert .=$test[3];
$invertiert .=$test[4];
$invertiert .=$test[0];
$invertiert .=$test[1];
Invert ist nun 20080103 und kann mit der $today verglichen werden, sofern ich die Variable ebenso wie $test invertiert habe.
Da gibt´s doch sicherlich was eleganteres, oder?
Hellihello David,
kannst doch ein Datum in Unixzeit umrechnen.
Dank und Gruß,
frankx
Hey frankx,
hast du da vielleicht einen Link für mich, wie ich das mache?
Hellihello David,
http://de3.php.net/manual/de/function.strtotime.php
echo strtotime("10 September 2007"), "\n";
echo time()."\n\n";
Dank und Gruß,
frankx
Hello David,
Gibt´s eigentlich eine Funktion, mit der ich testen kann, welches meiner beiden Datums in der Zukunft liegt?
Na klar kannst Du feststellen, welche Datummse (sic!) in der Zukunft liegen.
Gegenwart ist (bei richtig eingestellter Serverzeit) $jetzt = time();
Das Ergebnis ist allerdings noch abhängig von Servereinstellungen, ob da CET oder UTC
http://de.wikipedia.org/wiki/UTC rauskommt.
Nehmen wir mal UTC an, dann müsstest Du das zu prüfenden Datum nebst Zeit eben auch in UTC haben.
und dann ist
if ($time() > strtotime($datum))
eine Möglichkeit, den Vergleich durchzuführen.
http://de2.php.net/manual/en/function.strtotime.php
if ($today < $test)
Das ist insofern Unsinn, weil die Notation nicht dazu passt. Wenn Du '2008-01-03' für den dritten Januar 2008 geschrieben hättest, und das andere Datum in derselben Notation vorliegen würde, wäre der vergleich wieder sinnvoll.
Harzliche Grüße vom Berg und Frohe Weihnachtszeit
Tom
Hallo,
Das iso-datum ist so aufgebaut dass man das direkt als Zahl vergleichen kann:
$today = date("Ymd"); // 20071221
$date = "20071222";
if((int)$today < (int)$date) echo "Datum liegt in der Zukunft";
else echo "Datum ist gleich heute oder liegt in der Vergangenheit";
Jeena