logo cosasdedevs
Cómo crear un rango de fechas desde dos fechas con PHP

Cómo crear un rango de fechas desde dos fechas con PHP



My Profile
Oct 22, 2021

Hola 👋. Esta semana me he vuelto a pelear con PHP para crear un array con un rango de fechas desde una fecha de inicio y otra de fin. Para no tener que estar buscando como hacerlo dentro de otros tres meses he decidido convertirlo en tutorial para tenerlo en la guantera y de paso ayudar a más gente 😁.

Para solucionar esto, he creado esta función que os dejo aquí y que explicaré como funciona más abajo:

function getRangeDate($date_ini, $date_end, $format) {

    $dt_ini = DateTime::createFromFormat($format, $date_ini);
    $dt_end = DateTime::createFromFormat($format, $date_end);
    $period = new DatePeriod(
        $dt_ini,
        new DateInterval('P1D'),
        $dt_end,
    );
    $range = [];
    foreach ($period as $date) {
        $range[] = $date->format($format);
    }
    $range[] = $date_end;
    return $range;
}

$ranges = getRangeDate('2021-01-01', '2021-03-31', 'Y-m-d');

Esta función recibe una fecha de inicio, una fecha de fin y el formato en el que viene la fecha que también será el formato en el que retornaremos el rango de fechas.

Convertimos la fecha de inicio y fin en instancias de la clase DateTime para después crear una instancia con la clase DatePeriod. Esta clase nos permite crear un intervalo entre dos fechas. También enviamos el intervalo que será de un día creando una instancia de la clase DateInterval.

Por último, solo debemos iterar sobre el objeto $period y en cada iteración obtendremos cada una de las fechas. Estas las guardamos con el mismo formato con el que las recibimos en un array.

Como DatePeriod no incluye la última fecha, la añadimos nosotros y al final retornamos el array con la lista de fechas.

Espero que este post te ayude y como siempre, te recomiendo seguirme en Twitter para estar al tanto de los nuevo contenido. Ahora también puedes seguirme en Instagram donde estoy subiendo tips, tutoriales en vídeo e información sobre herramientas para developers.

Por último os dejo mi guía para aprender a trabajar con APIs donde explico todo el funcionamiento de una API, el protocolo HTTP y veremos como construir una API con arquitectura REST.

Nos leemos 👋.

3968 vistas

🐍 Sígueme en Twitter

Si te gusta el contenido que subo y no quieres perderte nada, sígueme en Twitter y te avisaré cada vez que cree contenido nuevo 💪
Luego ¡Te sigo!

Nos tomamos en serio tu privacidad

Utilizamos cookies propias y de terceros para recopilar y analizar datos sobre la interacción de los usuarios con cosasdedevs.com. Ver política de cookies.