2012-08-16 20 views
34

Ich versuche, das aktuelle Datum plus 7 Tage, um anzuzeigen.aktuelle Datum und Rück zuzüglich 7 Tage

Beispiel: Heute ist der 16. August 2012, so dass diese PHP-Schnipsel Ausgabe 23. August 2012 würde

$date = strtotime($date); 
    $date = strtotime("+7 day", $date); 
    echo date('M d, Y', $date); 

Gerade jetzt, ich bin immer: 08 Jan, 1970. Was bin ich?

+2

Was ist der Anfangswert von '$ date' ist? Ja – deceze

+0

, ich glaube, das ist das Problem. Wie setze ich den Anfangswert auf das aktuelle Datum? Schöne –

Antwort

98

strtotime automatisch den aktuellen Unix-Zeitstempel verwenden, um die Zeichenfolge Annotation aus der Basis.

Just do:

$date = strtotime("+7 day"); 
echo date('M d, Y', $date); 

Added Info For Future Besucher: Wenn Sie einen Zeitstempel an die Funktion übergeben müssen, wird die unten arbeiten.

Diese 7 days von gestern berechnen wird:

$timestamp = time()-86400; 

$date = strtotime("+7 day", $timestamp); 
echo date('M d, Y', $date); 
+0

. Das hat perfekt funktioniert. Vielen Dank! –

5

Wenn es von jetzt 7 Tage ist, dass Sie suchen, einfach gesagt:

$date = strtotime("+7 day", time()); 
echo date('M d, Y', $date); 
3
<?php 
print date('M d, Y', strtotime('+7 days')); 
3

Sie nicht verwendet haben time() Funktion, die die aktuelle Zeit in die Anzahl der Sekunden seit der UNIX-Epoche (1. Januar 1970 00:00:00 GMT) gemessen zurückgibt. Verwendung wie folgt aus:

$date = strtotime(time()); 
$date = strtotime("+7 day", $date); 
echo date('M d, Y', $date); 
6
$date = new DateTime(date("Y-m-d")); 
$date->modify('+7 day'); 
$tomorrowDATE = $date->format('Y-m-d'); 
1
$now = date('Y-m-d'); 
$start_date = strtotime($now); 
$end_date = strtotime("+7 day", $start_date); 
echo date('Y-m-d', $start_date) . ' + 7 days = ' . date('Y-m-d', $end_date); 
-1

Dieser Code funktioniert für mich:

<?php 
$date = "21.12.2015"; 
$newDate = date("d.m.Y",strtotime($date."+2 day")); 
echo $newDate; // print 23.12.2015 
?> 
Verwandte Themen