Lenguaje PHP

Sumar fecha con función PHP

Sumar fecha con función PHP. En este articulo aprenderemos a sumar o restar fechas usando PHP en días, semanas, meses o años con 3 ejemplos completos.

Sumar y/o restar días, semanas, meses, años a una fecha en PHP

En ocasiones se requiere sumar o restar meses a una fecha estática o fecha extraída desde una base de datos y en este articulo daremos 3 ejemplos completos para lograr el objetivo.

3 formas para sumar fechas en PHP

  • Primera forma: Usando strtotime
  • Segunda forma: Formatos relativos
  • Tercera forma: Función personalizada

Primera forma: Usando strtotime

La función predeterminada de PHP llamado strtotime es muy usando para formatear fechas en el lenguaje PHP. En el siguiente ejemplo veremos como sumar 1 mes y/o restar un mes.

$fecha_actual = date("d-m-Y");
//sumo 1 mes
echo date("d-m-Y",strtotime($fecha_actual."+ 1 month"));
//resto 1 mes
echo date("d-m-Y",strtotime($fecha_actual."- 1 month"));

Segunda forma: Formatos relativos

Esta segunda opción también se usa para sumar fechas en PHP y existe más opciones para esta segunda forma. a continuación, les dejare la página oficial para más información

$fecha =date("Y-m-d");
$fecha = date('Y-m-d', strtotime("last day of next month",strtotime($fecha)));

Tercera forma: Función personalizada

Las dos primeras opciones suelen presentar algunos inconvenientes a la hora de sumar fechas porque son genéricas. Ahora para darle una interfaz más precisas hemos creado una pequeña función para sumar fechas más exactas.

function addDate ($add,$startdate = false)
{
$date = !empty($startdate) ? $startdate : date('Y-m-d');
$newDate = strtotime ($add , strtotime ( $date ) ) ;
$newDate = date ( 'Y-m-d' , $newDate );
return $newDate;
}

¿Como usar la función personalizada para sumar fechas?

Para sumar fechas tenemos que llamar a la función addDate que hemos creado y dentro de sus valores agregar la cantidad de años o meses que se desea sumar o restar y el segundo agregar la fecha inicial. Veamos un ejemplo:

echo addDate('40 year', '2022-10-14');

La salida en el navegador será:

2062-10-14

Hemos agregado 40 años a la fecha inicial y nos dará como resultado el año 2062

Primer ejemplo: Manejando días

Para manejar sumas de días o restas a una determinada fecha podemos usar (5 day), recuerda que en el ejemplo estamos sumando 5 días y puede ser personalizado por la cantidad de días que desee.

// Suma 5 días a la fecha 2022-06-15
echo addDate('5 day', '2022-06-15').'<br/>';


// Suma 5 días a la fecha actual
echo addDate('5 day').'<br/>';

Segundo ejemplo: Manejando semanas

A veces se requiere sumar o restar semanas a una fecha y por ende tenemos que usar (week) antecediendo un numero positivo o negativo que hace énfasis a la semana.

// Resta una semana a la fecha '2022-06-15'
echo addDate('-1 week', '2022-06-15').'<br/>';


// Suma 3 semanas a la fecha '2022-06-15'
echo addDate('3 week', '2022-06-15').'<br/>';

Tercera forma: Manejando meses

Si tu aplicación web te pide sumar fechas por rango de meses, aquí te dejo este ejemplo y cómo podemos apreciar se está usando (month) antecediendo un numero positivo o negativo que hace referencia a los meses.

// Suma 4 meses a la fecha '2022-06-15'
echo addDate('4 month', '2022-06-15').'<br/>';

Cuarta forma: Manejando años

Esta opción no suele ser muy usada, pero en algunos casos es necesario, para sumar años tenemos que agregar la palabra (year) antecediendo un numero positivo o negativo según el caso, esos números simboliza la cantidad de años.

// Suma 2 años a la fecha '2014-06-15'
echo addDate('2 year', '2014-06-15').'<br/>';

Resumen y conclusiones

En este breve artículo hemos aprendido a sumar o restar: Días, Semanas, Meses, Años. Sin embargo, tenemos que usar sintaxis en inglés como ser: day, week, month, year.

Hemos aprendido a usar tres formas para sumar y restar fechas, por consiguiente, la tercera forma es la más recomendada.

Recuerda que las fechas iniciales pueden ser extraídas desde MySQL, usando un formulario con el método POST o Método GET.

Espero que esta breve explicación les ayude en sus proyectos web.

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad