Métodos Estáticos Únicos ​
Este paquete te ofrece dos métodos simples para determinar los datos relevantes sobre la validación de dÃas festivos en Colombia.
Validar si una fecha es festiva ​
Con el método isHoliday
y pasando una fecha en el formato indicado, puedes determinar si la fecha es o no festiva en el calendario colombiano.
use Rmunate\Calendar\Colombia;
$isHoliday = Colombia::isHoliday('2024-01-01');
// true
$isHoliday = Colombia::isHoliday('2024-03-01');
// false
Conocer el motivo de un dÃa festivo ​
Usando el método getDescriptionIfHoliday
y pasando una fecha en el formato indicado, puedes obtener el motivo por el cual un dÃa es festivo, siempre y cuando lo sea. Si no es festivo, se retornará un valor nulo.
use Rmunate\Calendar\Colombia;
$description = Colombia::getDescriptionIfHoliday('2024-01-01');
// 'Año nuevo'
$description = Colombia::getDescriptionIfHoliday('2024-03-01');
// null
Obtener todos los dÃas festivos disponibles ​
Si deseas obtener todos los dÃas festivos disponibles en el paquete, tu mejor opción es el método all()
. Esto retornará una colección de Laravel (\Illuminate\Support\Collection
) con toda la data lista para que apliques los filtros o tratamientos que necesites.
use Rmunate\Calendar\Colombia;
$all_holidays = Colombia::all();
Ejecutar consultas especÃficas ​
Es posible que necesites realizar consultas especÃficas. Con este paquete puedes aplicar cualquier condición que te sea conveniente a los valores disponibles.
Columnas de la tabla:
- day: Número del dÃa (numérico)
- month: Número del mes (numérico)
- year: Número del año (numérico)
- day_name: Nombre del dÃa en inglés (texto)
- month_name: Nombre del mes en inglés (texto)
- full_date: Fecha completa en formato YYYY-MM-DD
- iso_day: Número ISO del dÃa (numérico)
- iso_week: Número ISO de la semana (numérico)
- day_of_year: DÃa dentro del año (365 dÃas) (numérico)
- holiday_reason: Motivo de que sea festivo (texto)
Con esto en mente, puedes usar cualquier consulta con QueryBuilder.
use Rmunate\Calendar\Colombia;
$data = Colombia::where('day', 1)->where('month', 1)->get();
$data = Colombia::where('year', 2024)->where('month', 7)->get();
$data = Colombia::where('full_date', '2024-01-01')->first();
$data = Colombia::where('day_of_year', '>=', 180)->where('year', 2024)->get();
$data = Colombia::where('day_name', '!=', 'Sunday')->where('year', 2024)->get();
$data = Colombia::whereNot('day_name', 'Sunday')->where('year', 2024)->get();
$data = Colombia::whereIn('year', [2024, 2025])->whereIn('month', [1, 2, 3, 4, 5, 6])->get();
$data = Colombia::whereIn('holiday_reason', ['Jueves Santo', 'Viernes Santo'])->where('year', 2024)->get();
$data = Colombia::whereNotIn('holiday_reason', ['Jueves Santo', 'Viernes Santo'])->where('year', 2024)->get();
$data = Colombia::whereBetween('full_date', ['2024-01-01', '2024-03-01'])->get();
$data = Colombia::whereNotBetween('full_date', ['2024-01-01', '2024-03-01'])->get();
$data = Colombia::whereDate('full_date', '2024-01-01')->get();
$data = Colombia::whereMonth('full_date', '01')->get();
$data = Colombia::whereDay('full_date', '01')->get();
$data = Colombia::whereYear('full_date', 2024)->get();
En resumen, tienes tantas combinaciones como necesites. Además, el método Colombia::query()
también está disponible en el paquete y retorna una instancia válida de \Illuminate\Database\Query\Builder
, lo que te permite usar métodos diferentes de Query Builder que no estén listados en los ejemplos anteriores.
use Rmunate\Calendar\Colombia;
$data = Colombia::query()->where(function (Builder $query) {
$query->where('month', 3)->orWhere('month', 7);
});
Con estos métodos, puedes manejar y consultar los dÃas festivos de Colombia de manera eficiente y flexible. ¡Aprovecha todas las posibilidades que este paquete te ofrece!