Devuelve la fecha actual más 7 días

2 minutos de lectura

avatar de usuario
James claro

Estoy tratando de obtener la fecha actual más 7 días para mostrar.

Ejemplo: hoy es 16 de agosto de 2012, por lo que este fragmento de php generaría el 23 de agosto de 2012.

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

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

  • ¿Cuál es el valor inicial de $date?

    – deceze

    16 de agosto de 2012 a las 13:40

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

    – James claro

    16 de agosto de 2012 a las 13:41

avatar de usuario
mike macintosh

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

Solo haz:

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

Información añadida para futuros visitantes: Si necesita pasar una marca de tiempo a la función, lo siguiente funcionará.

Esto calculará 7 days de ayer:

$timestamp = time()-86400;

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

$date = new DateTime(date("Y-m-d"));
$date->modify('+7 day');
$tomorrowDATE = $date->format('Y-m-d');

Si son 7 días a partir de ahora que estás buscando, simplemente pon:

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

avatar de usuario
mahmud zalt

$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);

<?php
print date('M d, Y', strtotime('+7 days') );

avatar de usuario
MKT

no usaste tiempo() función que devuelve la hora actual medida en número de segundos desde la época de Unix (1 de enero de 1970 00:00:00 GMT). usar así:

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

avatar de usuario
kenorb

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
?>

¿Ha sido útil esta solución?