Mit Datum rechnen

Es ist empfehlenswerter, mit Timestamps zu arbeiten. Damit kannst du wie mit normalen Zahlen arbeiten und musst dich nicht um variable Monatslänge, Schaltjahre usw. kümmern.
 
Mit diesem Skript kannst du dir ein Datum erzeugen(mit mktime()) und dann mit dem aktuellen timestamp(time()) vergleichen. Dann ziehst du die beiden Werte voneinander ab und rechnest danach noch ein bissel weiter rum um auf die Stunden usw zu kommen.
Sollte so jetzt funktionieren, ist jetzt nicht getestet da ich den Codeschnipsel schnell mal aus meinem Skript genommen haben und der Einfachheit halber bissel modifiziert.
PHP:
		//zieltag machst du dir mit mktime()
		$ziel_tag  = mktime(0,0,0,1,1,2006);
  
		$time = $ziel_tag-time();
  
  
		$day  = floor($time/86400);
		$hour = floor(($time -($day * 86400))/3600);
		$min  = floor(($time -($day * 86400) - ($hour * 3600))/60);
		$sec  = floor(($time -($day * 86400) - ($hour * 3600) - ($min * 60)));
  
		echo $day.' Tage, ';
		echo $hour.' Stunden, ';
		echo $min.' Minuten und ';
		echo $sec.' Sekunden.';
	}
 
Hm, hab ein bisschen überlegt, aber komme nicht wirklich auf einen Nenner. Ich denke nur, dass dieser Ansatz auch mir helfen könnte, aber weiß nicht wie.
Ich habe eine Tabell in einer Datenbank, welche einem Spielplan entspricht. Ich lese nun alle Daten ganz normal mit mysql_fetch_array() in ein Array.
Aber wie kriege ich es nun hin, dass ich eine Ausgabe der Datensätze ermöglich, die vom Datum her die letzten 7 Tage zurück liegen, ohen die Datensätze auszugeben, die vom Datum her in der Zukunft liegen oder mehr als eine Woche in der Vergangenheit.

Kann mir jemand helfen?
 
Ok, Lösung des Sachverhaltes:

Code:
SELECT * FROM `ssv_spielplan` WHERE TO_DAYS(NOW()) - TO_DAYS(datum) <= 14 AND TO_DAYS(NOW()) - TO_DAYS(datum) >= 0
 
Zuletzt bearbeitet:
Zurück