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.