Timestamp vor 7 Tagen 0 Uhr

Sasser

Erfahrenes Mitglied
Hallo!

Ich komme gerade absolut nicht weiter. Ich brauche den Timestamp von vor 7 Tagen um 0 Uhr, komme jedoch nicht hinter die Lösung.

Gibt es da eigen einfache Möglichkeit?
 
Zum Beispiel so:

PHP:
<?php
$heute = date("d.m.Y", time());
$vor7tagen = date("d.m.Y", mktime(0, 0, 0, date("m", time()), date("d", time())-7, date("Y", time())));

echo "Heute : " .$heute;
echo "<br />";
echo "vor 7 Tagen : " .$vor7tagen;
?>
 
Ich habe noch eine bessere Möglichkeit gefunden:

PHP:
mktime ( "0", "0", "0" ) - ( 86400 * 7 );

Trotzdem vielen Dank :)
 
Oder eleganter mittels strtotime:

Ich mag es halt gewisse Dinge in Funktionen auszulagern
PHP:
$time = truncDate(strtotime('-7 day'));

echo date('d.m.Y H:i:s', $time);

/**
 * kürzt den timestamp auf das Datum
 * http://wiki.yaslaw.info/wikka/PhpDatumsfunktionen
 * @param timestamp
 * @return timestamp
 */
function truncDate($date){
    return mktime(0, 0, 0, date('m', $date), date('d', $date), date('Y', $date));
}

Nachtrag:
Schöner ist es natürlich ab PHP5.3 mit der DateTime-Klasse zu arbeiten
PHP:
$time = date_sub(new DateTime(date('Y-m-d')), new DateInterval('P7D'));
//oder
$time = date_modify(new DateTime(date('Y-m-d')), '-7 day');

echo $time->format('d.m.Y H:i:s');
 

Neue Beiträge

Zurück