aveonline/calendario-colombia

库用于满足使用哥伦比亚节假日的需求,因为carechimba将仓库设为私有

v1.0.0 2024-05-16 16:28 UTC

This package is auto-updated.

Last update: 2024-09-16 17:44:44 UTC


README

感谢

Raul Mauricio Uñate Castro

特性

  • 目前可用的年份为2000至2034,这些数据会不断更新,确保至少有10年的未来数据,本版本和后续版本中最古老的年份始终是2000年。
  • 使用哥伦比亚日历的特性来操作日期和/或日期范围。
  • 验证特定日期的数据,如节假日、星期日、名称、精确数据等。
  • 根据哥伦比亚标准了解工作日。
  • 生成一个月和/或一年特定节假日的集合。
  • 通过调用类的一个方法在Laravel中生成迁移和种子。
  • 在系统任何地方进行静态调用。
  • 方法连接,便于使用。
  • 始终在哥伦比亚的时区和日期上操作,不受服务器配置的影响。
  • 开源代码,可完全修改。

安装

通过Composer安装

composer require aveonline/calendario-colombia

方法

日期方法

附加方法

使用示例

#Emplear este metodo para guardar datos en bases de datos, evitar usarlo en Bucles.
CalendarioColombia::diff('2023-02-01','2023-03-31')->output();
// array:5 [▼ // app/Http/Controllers/LandingController.php:14
//   "days" => array:7 [▼
//     "monday" => array:2 [▶]
//     "tuesday" => array:2 [▶]
//     "wednesday" => array:2 [▶]
//     "thursday" => array:2 [▶]
//     "friday" => array:2 [▶]
//     "saturday" => array:2 [▶]
//     "sunday" => array:2 [▶]
//   ]
//   "holidays" => array:2 [▼
//     "count" => 9
//     "dates" => array:9 [▶]
//   ]
//   "calendar_days" => 59
//   "working_days" => 50
//   "unconditionally_intervals" => array:3 [▼
//     "years" => 0
//     "months" => 1
//     "days" => 31
//   ]
// ]

Laravel迁移方法(不要在控制器中使用)

迁移和种子

此功能允许库将日历数据加载到数据库的一个表中,由于需要加载多个年份,seed器的处理可能需要相当长的时间,如果您需要,请使用它,注意在运行php artisan migrate命令时,您将注意到过程会有延迟。

Laravel迁移代码

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Aveonline\CalendarioColombia\CalendarioColombia;
use Illuminate\Database\Migrations\Migration;

return new class extends Migration
{
    /*-----------------------------------*/
    public function up(){
        CalendarioColombia::schema()->create();
    }

    /*-----------------------------------*/
    public function down(){
        CalendarioColombia::schema()->drop();
    }
};

Laravel种子代码

<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Aveonline\CalendarioColombia\CalendarioColombia;

class ColombianCalendarSeeder extends Seeder
{
    public function run(){
        CalendarioColombia::schema()->seeder();
    }
}

维护者

MIT License