2010-09-04 1070 views
5

esta es una pregunta muy poco convincente, pero no puedo encontrar esta. ¿Cómo obtener la fecha y la fecha de hoy, después de dos meses ..obtener la fecha actual y la fecha después de dos meses en php

formato es mes-día-año

+0

¿Quieres decir añadir 2 meses de trabajo (8 semanas de trabajo) o ¿quieres decir 2 meses calendario? Probablemente te refieres a mm-dd-aaaa, pero en cualquier caso la respuesta de Yanicks te muestra cómo obtener una marca de tiempo de Unix a partir de hoy. – Cups

+0

@Cups yaa pero lo modifiqué un poco para obtener mis requisitos –

Respuesta

18

Usted puede utilizar la función strtotime() (numérico.):

$today = time(); 
$twoMonthsLater = strtotime("+2 months", $today); 

// If what you really want is exactly 60 days later, then 
$sixtyDaysLater = strtotime("+60 days", $today); 
// ...or 8 weeks later : 
$eightWeeksLater = strtotime("+8 weeks", $today); 

En cualquier caso, las nuevas marcas de tiempo resultantes se pueden convertir a un mes de la fecha años:

echo 'Today is : ' . date('m-d-Y', $today); 
echo 'Two months later will be : ' . date('m-d-Y', $twoMonthsLater); 

** ACTUALIZACIÓN **

Desde el PHP manual

Nota: Por favor, tenga en cuenta que estas funciones dependen de la configuración regional de su servidor. Asegúrese de tomar el horario de verano (use, por ejemplo, $ date = strtotime ('+ 7 days', $ date) y not $ date + = 7 * 24 * 60 * 60) y considere los años bisiestos al trabajar con estas funciones.

sólo pensé que debería mencionar que ...

-2

Hoy:

date('m-d-Y', time());

Dos meses a partir de ahora:

date('m-d-Y', time() + (86400 * 60));

+6

esto no es cierto. '2010-02-01' (1 de febrero de 2010) + 60 días no es exactamente dos meses después. Y esto no tiene en cuenta los años bisiestos, etc. –

1

Hay un par de maneras podrías hacerlo - el primero sería hacer algo Hing así:

echo $currentdate = date("Y-m-d H:i:s",time());  
echo $after60days = date('Y-m-d H:i:s', time() + 60 * 60 * 24 * 60); 

Básicamente, se toma la fecha y hora actual, expresado en segundos, y añadir 60 * 60 * 24 * 60, que es la cantidad de segundos en dos meses.

Otra manera de hacerlo, que es mi forma preferida y cómo lo haría, es la siguiente:

$after60days = strtotime("+60 days"); 

el resultado será exactamente lo mismo, $ after60days tendrán un valor igual a la marca de tiempo del día exactamente dos meses a partir de ahora, pero utiliza la propia función strtotime() de PHP.

Por supuesto, si usted necesita para dar salida a una fecha en un formato que sea fácil de leer para los seres humanos, se puede hacer algo como esto:

echo date('Y-m-d H:i:s',$after60days); 
Cuestiones relacionadas