Hallo
Ich hatte mal folgendes gemacht (glaube mit xampp 1.4.14):
$alter = date('Y-m-d')-$row[eingetragen_am]; // in MySQL als date, also auch im Format Y-m-d
Das hat mir die Differenz in Tagen ausgegeben.
Mit xampp 1.5.0sp1 kommt nur noch 0 als Ergebnis.
heute: 2005-11-15
eingetragen_am: 2005-06-26
alter: 0
Mit xampp 1.4.16 will ich es gleich noch auf einem anderen PC testen.
Kennt jemand ein workaround?
EDIT: Mhh ich dachte mit den alten Version ging das.
Habe bis xampp 1.4.10a und php 4.3.9 versucht, aber ging nicht.
Habe aber jetzt eine Lösung gefunden:
http://de2.php.net/date
Dort habe ich eine datediff Funktion gefunden, die ich etwas modifizieren musste:
function datediff($date1, $date2) {
// $date1 is subtracted from $date2.
// if $date2 is not specified, then current date is assumed.
//Splits date apart
list($date1_year, $date1_month, $date1_day) = split('[/.-]', $date1);
if (!$date2) {
$date2_year = date("Y"); //Gets Current Year
$date2_month = date("m"); //Gets Current Month
$date2_day = date("d"); //Gets Current Day
} else {
list($date2_year, $date2_month, $date2_day) = split('[/.-]', $date2);
}
$date1 = mktime(0,0,0,$date1_month, $date1_day, $date1_year); //Gets Unix timestamp for $date1
$date2 = mktime(0,0,0,$date2_month, $date2_day, $date2_year); //Gets Unix timestamp for $date2
$difference = $date2-$date1; //Calcuates Difference
return floor($difference/60/60/24); //Calculates Days Old
}
Der Aufruf:
$alter = datediff($row[eingetragen_am],date('Y-m-d'));
if ($alter <= 7) {echo "NEU";}
Ich hoffe Ihr könnt es auch gebrauchen!