Tengo una fecha de PHP en forma de 2013-01-22
y quiero obtener la fecha de mañana en el mismo formato, por ejemplo 2013-01-23
.
¿Cómo es esto posible con PHP?
Usar DateTime
$datetime = new DateTime('tomorrow');
echo $datetime->format('Y-m-d H:i:s');
O:
$datetime = new DateTime('2013-01-22');
$datetime->modify('+1 day');
echo $datetime->format('Y-m-d H:i:s');
O:
$datetime = new DateTime('2013-01-22');
$datetime->add(new DateInterval("P1D"));
echo $datetime->format('Y-m-d H:i:s');
O en PHP 5.4+:
echo (new DateTime('2013-01-22'))->add(new DateInterval("P1D"))
->format('Y-m-d H:i:s');
o
Enlace de ayuda: STRTOTIME ()
fuente
Desde que etiquetó esto con strtotime, puedes usarlo con el
+1 day
modificador así:Dicho esto, es una solución mucho mejor usar DateTime .
fuente
fuente
echo date ('Y-m-d',strtotime('+1 day', strtotime($your_date)));
fuente
Utilizar
DateTime
:Para obtener mañana a partir de ahora:
Para obtener mañana de una cita:
¡Espero eso ayude!
fuente
fuente
Por extraño, puede parecer que funciona perfectamente bien:
date_create( '2016-02-01 + 1 day' );
echo date_create( $your_date . ' + 1 day' )->format( 'Y-m-d' );
Deberías hacerlo
fuente
Primero, encontrar abstracciones correctas es siempre una clave. clave para la legibilidad, mantenibilidad y extensibilidad.
Aquí, un candidato bastante obvio es un
ISO8601DateTime
. Hay al menos dos implementaciones: la primera es una fecha y hora analizada de una cadena y la segunda es mañana. Por lo tanto, hay dos clases que se pueden usar y su combinación da como resultado el resultado (casi) deseado:Ambos objetos tienen una fecha y hora ISO8601, por lo que su representación textual no es exactamente lo que necesita. Entonces, el trazo final es hacer que tomen una forma de fecha:
Ya que necesita una representación textual, no solo un objeto, invoca un
value()
método.Para obtener más información sobre este enfoque, consulte esta publicación .
fuente
aquí está la función de trabajo
fuente
Donde 86400 es el número de segundos en un día.
fuente