Datum Probleme

PsychoSam

Mitglied
Hallo
Gibt es irgendeine Möglichkeit folgendes zu realsieren:
man nimmt das heutige datum
setzte eine grenze von zirka 2 monaten
addiert zu dem heutigen tag ungefähr 7 tage dazu und lässst ab dort alle daten im rahmen von 2 monaten in einer liste anzeigen?
Großes thx im voraus
 
Hm, so ganz verstehe ich die Frage nicht.
Du hast irgend eine Liste mit Aktionen, denen ein Datum zugeordnet ist.
Jetzt willst du da alle, die in den letzten zwei Monaten geschahen, herausfischen?

(Was hat es mit den sieben Tagen auf sich?)

Naja, jedenfalls kannst du obiges realisieren (setzt voraus, dass die Daten im
Timestamp vorliegen, was aber eh meistens eine bessere Lösung ist):
Du nimmst den aktuellen Timestamp (time()), ziehst die Sekunden für zwei
Monate ab ( 60 * 60 * 24 * 2 * 30 ) und schaust, welches Datum darüber liegt.
Und schon hast du die Aktionen aus den letzten zwei Monaten.
 
Hallo, also so wie ich das verstanden habe, möchtest du mit dieser -7 Tage ausschließen, dass die Geschehnisse in der aktuellen Woche angezeigt wird?
Es ist zwar nicht ganz korrekt, da er, wennn Montag der letzen Woche zurück geht, aber wenn du nicht so doll ins Detail gehen willst/musst ist es so ok.

PHP:
$jetzt=time();
$start=$jetzt-60*60*24*7;
$end=$jetzt- 60*60*24*30*2;

Jetzt hast du in $start das Datum vor einer Woche und in $end das Datum vor 2 Monaten, damit kannst du nun anfangen zu rechnen.

PHP:
for($start;$start>=$end;$start-=60*60*24)
{
  echo date("d.m.Y",$start)."<br>";
}

So sollte es funktionieren, ich habe es aber nicht getestet...
 
Zuletzt bearbeitet:
hmm ihr habt mich net ganz verstanden
un zwar man nehem das heutige datum gehe z.b 7 tage in die zukunft, und liste von dort aus alle daten in einem zeitraum von zwei monaten (weiterhin in die zukunft) auf
aber ich habs mir gestern auch das überlegt mit timestamp und hab folgendes geschrieb
allerdings ist das relativ seltsam denn das scrip t fetzt so meinen rechner dasss ich net mal die maus ordnetlich bewege kann..


schaut mal:
PHP:
	function berechneDaten($var)
	{
	$tage = array("So","Mo","Di","Mi","Do",
 		 		"Fr","Sa");
		if ($var==true)
			{
		 	$timestamp = time() + 345600;
			}
		else
			{
		 	$timestamp = time() + 1468800;
			} 
		
		$x = 0;
		for($timestamp;$timestamp<$timestamp + 5184000;$timestamp + 86400)
			{
			$daten[$x] = $tage[date("w",$timestamp)]." ".date("d.m.Y",$timestamp);
			
			$x++;
			
			
			}
		return $daten;
	}
 
Was du mit dem Script machen willst, ist unverständlich!
Vor allem diese Zeile hier:
for($timestamp;$timestamp<$timestamp + 5184000;$timestamp + 86400)
Aber egal.

So wie ich es verstanden habe willst du alle Daten aus einem Zeitraum von zwei
Monaten, beginnend mit dem Datum, das sieben Tage in der Zukunft liegt.

Noch was am Rande: Alle möglichen Daten, die in diesem Zeitraum gülitig sind,
in ein Array zu schreiben ist grauenhaft!
Am besten wandelst du alle Daten in Timestamps um, sodass in der
Datenquelle nur noch solche sind.

Dann setzt du dir ein Start-Timestamp und einen End-Stamp, wie Lars schon
angefangen hat.

Mit SQL z.B. kannst du dir das dann bequem so heraus holen:
Code:
WHERE `time_stamp` > START AND `time_stamp` < END

Start und Ende kriegst du so heraus:
PHP:
$iStart = date() + 60 * 60 * 24 * 7;
$iEnd   = $iStart + 60 * 60 * 24 * 30 * 2;
 
Zurück