Generar Intervalos de Tiempo con el Asistente Hours de Laravel

El paquete Laravel Hours Helper te permite crear colecciones de fechas y/o horas con un intervalo específico (en minutos) para un período determinado.

¿Cómo Funciona? ⚙️

Usando el Laravel Hours Helper, puedes generar intervalos de tiempo de manera fácil.

Por ejemplo, si quieres generar intervalos de 30 minutos entre las 08:00 y las 09:30, puedes hacerlo de la siguiente forma:

use FacadesLabel84HoursHelperHoursHelper;

$hours = HoursHelper::create('08:00', '09:30', 30);

El resultado será una colección con los intervalos generados:

/*
=> IlluminateSupportCollection {#3529
       all: [
           "08:00",
           "08:30",
           "09:00",
           "09:30",
       ],
   }
*/

Personalización de la Fecha ️

Puedes definir el formato de fecha y hora para cada intervalo. Por ejemplo, si deseas que las horas aparezcan en formato de 12 horas con AM/PM, puedes hacer lo siguiente:

$hours = HoursHelper::create('11:00', '13:00', 60, 'g:i A');

El resultado será:

/*
IlluminateSupportCollection {#3528
    all: [
        "11:00 AM",
        "12:00 PM",
        "1:00 PM",
    ],
}
*/

Intervalos Más Largos (Más de un Día)

Este helper también puede manejar intervalos que superan la medianoche y abarcan varios días.

Por ejemplo, si deseas crear intervalos de 60 minutos desde las 22:00 del 1 de enero hasta las 13:00 del 3 de enero, puedes usar:

HoursHelper::create(
    '2021-01-01 22:00',
    '2021-01-03 13:00',
    60,
    'Y-m-d H:i'
);

El resultado será:

/*
IlluminateSupportCollection {#3566
    all: [
        "2021-01-01 22:00",
        "2021-01-01 23:00",
        "2021-01-02 00:00",
        "2021-01-02 01:00",
        "2021-01-02 02:00",
        ...
    ]
}
*/

Más Información

Si quieres aprender más sobre este paquete, obtener las instrucciones completas de instalación y ver el código fuente, puedes visitar el repositorio en GitHub.

Vistas: 1