Cómo añadir días a la fecha en PHP

Ralfh Bryan Perez 30 enero 2023
  1. Método add en DateTime() para añadir días en PHP
  2. date_add() para añadir días a la fecha en PHP
Cómo añadir días a la fecha en PHP

Manipular la cadena date en PHP puede hacerse de muchas maneras, puede añadir o deducir horas, meses, años, etc. PHP proporciona diferentes funciones como DateTime, date_add y la combinación de strtotime() y date().

Método add en DateTime() para añadir días en PHP

Usando la versión 5.3 y superior de PHP, el objeto DateTime y su método add también puede ser una solución. DateTime soporta más formatos de fecha que strtotime y date. Usar un objeto también es más fácil que las funciones arbitrarias. Por ejemplo, cuando se comparan dos fechas, es directo en DateTime, pero en strtotime, es necesario convertir la fecha primero en timestamp.

Ejemplo:

<?php
$oldDate = "2020-02-27";
$newDate = new DateTime($oldDate);
$newDate->add(new DateInterval('P1D')); // P1D means a period of 1 day
$fomattedDate = $date->format('Y-m-d');
?>

El siguiente código imprimirá la Producción :

echo $fomattedDate; //output: 2020-02-28

La parte difícil de usar DateTime() es el objeto DateInterval. Esto acepta una especificación de intervalo válida. El formato apropiado comienza con la letra P que significa período, seguido de un valor entero, luego D para el día. Si la duración es el tiempo, la última parte debe ser T.

Combinación de strtotime() y date() para agregar días a la fecha en PHP

La strtotime() es una función PHP que se utiliza para convertir una descripción textual de la fecha en inglés en una marca de tiempo UNIX. La función strtotime aceptará un valor de cadena que representa la fecha-hora.

Ejemplo:

<?php
$oldDate   = "2020-02-27";
$date1 = date("Y-m-d", strtotime($oldDate.'+ 1 days'));
$date2 = date("Y-m-d", strtotime($oldDate.'+ 2 days'));
?>

El siguiente código saldrá:

echo $date1; //output: 2020-02-28
echo $date2; //output: 2020-02-29

El ejemplo anterior aceptará una cadena de fecha con el formato adecuado y devolverá la nueva fecha usando strtotime y +1 days. La función date() dio el formato apropiado.

Nota: Para evitar la oscuridad, se recomienda usar el formato ISO 8601 (YYYY-MM-DD).

date_add() para añadir días a la fecha en PHP

Este enfoque es el más fácil entre los otros para añadir días, meses, años, horas, minutos y segundos.

Ejemplo:

$oldDate = date_create("2020-02-27"); 
date_add($oldDate, date_interval_create_from_date_string("1 day"));

En la aplicación:

echo date_format($date,"Y-m-d"); //output: 2020-02-28

El ejemplo anterior también añade fechas a una cadena de fechas, date_create() crea un objeto DateTime. date_interval_create_from_date_string() establece un DateInterval de las partes de la cadena. Luego, finalmente, date_add() incrementa el valor de la fecha.

Artículo relacionado - PHP Date