Calendario Colombia | Calendar Colombia | Laravel (^5)
Control del Calendario de Colombia desde llamado de métodos de Clase. PHP (^7.4).
Control fácil del calendario de Colombia, control de festivos, fechas y manejo de días. Es una versión destinada netamente al control de las fechas de Colombia, esta clase al igual que la clase Carbon, se hereda de metodos y clases originales de PHP. Esta es una versión totalmente libre y se busca que en comunidad se mejore y se brinde mejores métodos y opciones para los programadores que deciden usarla.
Características
- Manipular fechas y/o rangos de fechas con las características específicas del calendario de Colombia.
- Validar datos de fechas puntuales como festivos, domingos, nombres, datos exactos, etc.
- Conocer los días laborales de acuerdo al estándar de nuestro país.
- Generar colecciones con los días festivos de un mes y año especifico.
- Generar Migraciones y Seeders en laravel con tan solo invocar la clase.
- Llamado estático en cualquier lugar del sistema.
- Concatenación de métodos para fácil uso.
- Trabaja siempre sobre la hora y fecha de Colombia sin importar la configuración del servidor.
- Código libre y totalmente modificable.
Instalación
Descargue el contenido del repositorio a su equipo. Cree un directorio en la carpeta App de laravel con el nombre Services Dentro de esta carpeta pegue el archivo Colombia.php
App\Services
Esta carpeta se carga por defecto dentro del Framework, por lo cual podremos llamar la clase en cualquier controlador con total libertad.
Llamado y uso de Clase
<?php
use App\Services\Colombia;
Métodos
Podrá invocar el método que requiera de la clase. Listado Actual de Métodos
METODOS PARA FESTIVOS
LLAMADO METODOS CLASE | DESCRIPCIÓN METODO |
---|---|
Colombia::timezone() |
Setea la Zona de Tiempo De Bogota Colombia. Es posible si se desea enviar como parámetro la zona que se desea asignar al sistema. |
Colombia::holidays() |
Este método retorna la clase completa, donde se puede visualisar los años con data disponible en la propiedad privada holidays. |
Colombia::holidays()->all() |
Este método retorna la colección completa de días festivos. |
Colombia::holidays()->year(2020)->get() |
Este método retorna la colección completa de días festivos del año ingresado en year y generando la colección con el metodo final ->get(). |
Colombia::holidays()->years([2020,2021])->get() |
Este método retorna la colección completa de los días festivos de los años ingresado en years y generando la colección con el metodo final ->get(). |
Colombia::holidays()->year(2020)->month(8)->get() |
Este método retorna la colección completa de días festivos del año ingresado en year y del mes ingresado en month generando la colección con el metodo final ->get(). |
Colombia::holidays()->years([2020,2021])->month([8,9])->get() |
Este método retorna la colección completa de días festivos de los años ingresados en years y de los meses ingresados en months generando la colección con el metodo final ->get(). |
Colombia::holidays()->between(['2022-08-01','2022-09-01'])->get() |
Retorna los días festivos entre las fechas establecidas. |
Colombia::holidays()->between(['2022-08-01','2022-09-01'])->notInclude('Sabado','Domingo')->get() |
Retorna los días festivos entre las fechas establecidas, sin incluir los dias que esten en el metodo notInclude, los dias pueden ingresarse en español o ingles. |
Colombia::holidays()->years([2022...]).....->notInclude('Sabado','Domingo')->get() |
El metodo notInclude tambien se puede usar con los filtros por años o meses. |
Colombia::holidays()->between(['2022-08-01','2022-09-01'])->include('Sabado','Domingo')->get() |
Retorna los días festivos entre las fechas establecidas, incluyendo solo los dias que esten en el metodo include, los dias pueden ingresarse en español o ingles. |
Colombia::holidays()->years([2022...]).....->include('Sabado','Domingo')->get() |
El metodo include tambien se puede usar con los filtros por años o meses. |
METODOS PARA FECHAS
LLAMADO METODOS CLASE | DESCRIPCIÓN METODO |
---|---|
Colombia::date('2022-03-01') |
Retorna la Clase con los valores de sus propiedades. |
Colombia::date('2022-03-01')->isHoliday() |
Retorna verdadero o falseo dependiendo si es o no festivo. |
Colombia::date('2022-03-01')->isMonday() |
Retorna verdadero o falseo dependiendo si es o no lunes. |
Colombia::date('2022-03-01')->isTuesday() |
Retorna verdadero o falseo dependiendo si es o no martes. |
Colombia::date('2022-03-01')->isWednesday() |
Retorna verdadero o falseo dependiendo si es o no miercoles. |
Colombia::date('2022-03-01')->isThursday() |
Retorna verdadero o falseo dependiendo si es o no jueves. |
Colombia::date('2022-03-01')->isFriday() |
Retorna verdadero o falseo dependiendo si es o no viernes. |
Colombia::date('2022-03-01')->isSaturday() |
Retorna verdadero o falseo dependiendo si es o no sabado. |
Colombia::date('2022-03-01')->isSunday() |
Retorna verdadero o falseo dependiendo si es o no domingo. |
Colombia::date('2022-03-01')->getDayString() |
Retorna el numero del dia en string conservando el cero al inicio. |
Colombia::date('2022-03-01')->getDayInt() |
Retorna el numero del dia en formato numero. |
Colombia::date('2022-03-01')->getDayNumberISO() |
Retorna el numero del dia en formato ISO. |
Colombia::date('2022-03-01')->getDayYear() |
Extrae el numero del año en formato entero |
Colombia::date('2022-03-01')->getDayES() |
Retorna el nombre del dia en Español. |
Colombia::date('2022-03-01')->getDayEN() |
Retorna el nombre del dia en Ingles. |
Colombia::date('2022-03-01')->toArray() |
Retorna la fecha de hoy separo el dia el mes y el año. |
Colombia::date('2022-03-01')->fixUp(10) |
Retorna un Arreglo con los dias agregados en el metodo hacia adelante. |
Colombia::date('2022-03-01')->fixDown(10) |
Retorna un Arreglo con los dias agregados en el metodo hacia atrás. |
Colombia::date('2022-03-01')->addDays(10) |
Suma los dias a la fecha establecida. |
Colombia::date('2022-03-01')->reduceDays(10) |
Resta los dias a la fecha establecida. |
Colombia::date('2022-03-01')->addMonths(10) |
Suma los meses a la fecha establecida. |
Colombia::date('2022-03-01')->addYears(10) |
Suma los años a la fecha establecida. |
Colombia::date('2022-03-01')->reduceYears(10) |
Resta los años a la fecha establecida. |
Colombia::date('2022-03-01')->getWeekISO() |
Obtener el numero de la semana en el año en Formato ISO. |
Colombia::date('2022-03-01')->getTimeZone() |
Permite comprobar si la fecha esta trabajando con la zona de tiempo de Colombia. |
Colombia::date('2022-03-01')->getMonthES() |
Obtener el nombre del mes en Español. |
Colombia::date('2022-03-01')->getMonthEN() |
Obtener el nombre del mes en Ingles. |
Colombia::date('2022-03-01')->getMonthString() |
Obteber el mes en string con cero al inicio. |
Colombia::date('2022-03-01')->getMonthInt() |
Obteber el mes en Entero. |
Colombia::date('2022-03-01')->getYear() |
Obteber el número del año en Entero. |
METODOS ADICIONALES
LLAMADO METODOS CLASE | DESCRIPCIÓN METODO |
---|---|
Colombia::getDaysMonth(2021,12) |
Retorna los dias del mes correspondiente al mes y año. |
Colombia::diff('2022-01-01','2022-08-01')->output() |
Retorna la diferencia entre dos fechas, en metodo final output, genera una colección con los datos descriminados, adicional, se puede pasar como parametro ->output(...). cualquiera de las siguientes opciones con diferente tipo de salida (interval_years, interval_months, interval_days, interval_hours, interval_minutes, interval_seconds, days) |
METODOS MIGRACIONES LARAVEL
LLAMADO METODOS CLASE | DESCRIPCIÓN METODO |
---|---|
Colombia::schema()->create(); |
Crea la tabla colombian_calendar, donde se alojará la informacion del calendario de Colombia. |
Colombia::schema()->drop(); |
Elimina la tabla colombian_calendar, donde se alojará la informacion del calendario de Colombia. |
Colombia::schema()->seeder(); |
Llena la tabla colombian_calendar, con todo el calendario de colombia entre las fechas disponibles en la clase ***Este Seeder puede tomar bastante tiempo, por lo cual es aconsejable esperar y no matar el proceso de migraciones con seeder hasta que termine. ***. |
Código Migración Laravel
<?php
use App\Services\Colombia;
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
return new class extends Migration
{
/*-----------------------------------*/
public function up(){
Colombia::schema()->create();
}
/*-----------------------------------*/
public function down(){
Colombia::schema()->drop();
}
};
Codigo Seeder Laravel
<?php
namespace Database\Seeders;
use App\Services\Colombia;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class ColombianCalendarSeeder extends Seeder
{
public function run(){
Colombia::schema()->seeder();
}
}
Desarrollador(es)
- Ingeniero, Raúl Mauricio Uñate Castro | [email protected]
Open Source
(Se reciben recomendaciones y mejoras.)