2012-08-16 16 views
34

Estoy intentando obtener la fecha actual más 7 días para mostrar.Devuelve la fecha actual más 7 días

Ejemplo: Hoy es el 16 de agosto de 2012, por lo que este fragmento php sería la salida 23 de agosto de 2012.

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

En este momento, estoy consiguiendo: 08 de enero de 1970. ¿Qué me falta?

+2

¿Cuál es el valor inicial de '$ date'? – deceze

+0

Sí, creo que ese es el problema. ¿Cómo configuro el valor inicial a la fecha actual? –

Respuesta

98

strtotime usará automáticamente la marca de tiempo de unix actual para basar su anotación de cadena.

Just Do:

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

Agregado Información para futuros visitantes: Si usted necesita para pasar una marca de tiempo a la función, el siguiente va a funcionar.

Esta calculará 7 days de ayer:

$timestamp = time()-86400; 

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

Hermoso. Eso funcionó perfectamente. ¡Gracias! –

5

Si se trata de 7 días a partir de ahora que usted está buscando, sólo hay que poner:

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

no ha utilizado time() función que devuelve la hora actual medida en el número de segundos desde la Época Unix (1 de enero de 1970 00:00:00 GMT). uso como esto:

$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

Este código funciona para mí:

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