2010-10-12 10 views

Respuesta

22

date devuelve una cadena, mientras que desea agregar 86400 segundos a la marca de tiempo. Creo que usted está buscando para ello:

$tomorrow = date("Y-m-d", time() + 86400); 
+8

¿Qué hay de DST? –

+8

De hecho, esto no funcionará debido al horario de verano. Nunca deberías escribir aritmética como esta. –

+0

Estoy de acuerdo en que esto no representa el horario de verano. Acabo de responder en función de lo que OP intentaba hacer, independientemente de si eso es realmente lo que quiere, depende de él decidir. – casablanca

14

date() devuelve una cadena, por lo que no es bueno agregar un número entero.

En primer lugar construir su futuro sello de tiempo, usando strtotime ser no sólo limpia, sino más precisa (véase el comentario de Pekka):

$tomorrow_timestamp = strtotime("+ 1 day"); 

A continuación, utilizarlo como segundo argumento para su date llamada:

$tomorrow_date = date("Y-m-d", $tomorrow_timestamp); 

O, si usted está en un estado de ánimo súper compacto, que todos pueden ser empujados hacia abajo en

$tomorrow = date("Y-m-d", strtotime("+ 1 day")); 
+3

+1 pero una manera más agradable de construir la marca de tiempo sería 'strtotime (" + 1 día ");' debido a DST –

+0

@Pekka: ¡limpio! Editado :) – Matchu

6

Niza y obvia:

$tomorrow = strtotime('tomorrow'); 
+1

Limpio, pero, en su forma actual, no parece coincidir con los requisitos del OP:/Agregue esa llamada 'date' y estamos listos para continuar. – Matchu

27

me animo a explorar la clase PHP 5.3 DateTime. Esto hace que las fechas y los tiempos mucho más fácil para trabajar con:

$tomorrow = new DateTime('tomorrow'); 

// e.g. echo 2010-10-13 
echo $tomorrow->format('d-m-Y'); 

Además, puede utilizar la sintaxis + 1 day con cualquier fecha:

$xmasDay = new DateTime('2010-12-24 + 1 day'); 
echo $xmasDay->format('Y-m-d'); // 2010-12-25 
+1

+1 para 'DateTime', es el futuro. –

+0

@Pekka de acuerdo - muy buena api –

0

Usted puede utilizar la clase add método datetime. Por ejemplo, desea agregar un día a la fecha y hora actual.

$today = new DateTime(); 
$today->add(new DateInterval('P1D')); 

Además referencia php datetime add

Espero que esto ayude.

Cuestiones relacionadas