定制 sunaoka/holidays 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

sunaoka/holidays

Composer 安装命令:

composer require sunaoka/holidays

包简介

Holiday calculation library

README 文档

README

Latest License PHP Test codecov

Supported Countries

Country Code
🇨🇳 China CN
🇩🇪 Germany DE
🇫🇷 France FR
🇬🇧 United Kingdom GB
🇭🇰 Hong Kong HK
🇮🇩 Indonesia ID
🇮🇹 Italy IT
🇯🇵 Japan JP
🇰🇷 Korea KR
🇱🇺 Luxembourg LU
🇸🇬 Singapore SG
🇹🇼 Taiwan TW
🇺🇸 United States of America US

Installation

composer require sunaoka/holidays

Basic Usage

Finds whether a date is a holiday

use Sunaoka\Holidays\Holidays;

// Is January 1, 2021 a holiday in the United States (US)?
$holidays = new Holidays('US');
$holidays->isHoliday('2021-01-01');
// => true

Returns a list of holidays

use Sunaoka\Holidays\Holidays;

// Returns United States (US) Holidays in 2021
$holidays = new Holidays('US');
$holidays->getHolidays(2021);
// =>
// array(36) {
//   [0] =>
//   class Sunaoka\Holidays\Holiday#1 (4) {
//     protected $name =>
//     string(14) "New Year's Day"
//     public $date =>
//     string(26) "2021-01-01 00:00:00.000000"
//     public $timezone_type =>
//     int(3)
//     public $timezone =>
//     string(3) "UTC"
//   }
//   [1] =>
//   class Sunaoka\Holidays\Holiday#2 (4) {
//     protected $name =>
//     string(26) "Martin Luther King Jr. Day"
//     public $date =>
//     string(26) "2021-01-18 00:00:00.000000"
//     public $timezone_type =>
//     int(3)
//     public $timezone =>
//     string(3) "UTC"
//   }
//     :
//     :
//     :
//   [35] =>
//   class Sunaoka\Holidays\Holiday#36 (4) {
//     protected $name =>
//     string(14) "New Year's Eve"
//     public $date =>
//     string(26) "2021-12-31 00:00:00.000000"
//     public $timezone_type =>
//     int(3)
//     public $timezone =>
//     string(3) "UTC"
//   }

Returns holidays for a given date range

use Sunaoka\Holidays\Holidays;

// Return United States (US) holidays from 2021-01-01 to 2021-01-07
$holidays = new Holidays('US');
$holidays->between(date('2021-01-01'), date('2021-01-07'));
// array(1) {
//   [0] =>
//   class Sunaoka\Holidays\Holiday#1 (4) {
//     protected $name =>
//     string(14) "New Year's Day"
//     public $date =>
//     string(26) "2021-01-01 00:00:00.000000"
//     public $timezone_type =>
//     int(3)
//     public $timezone =>
//     string(3) "UTC"
//   }
// }

Add custom holiday

use Sunaoka\Holidays\Holidays;

// Add 2021-05-05 as my birthday
$holidays = new Holidays('US');
$holidays->addHoliday(new Holiday('2021-05-05', 'My Birthday 🎉'));

$holidays->isHoliday('2021-05-05');
// => true

Update holiday data to latest

php ./vendor/bin/holiday-update

Remove unused country holidays

To avoid shipping unused country holidays, you can run the Sunaoka\\Holidays\\Task\\Composer::removeHolidays task and specify the services you want to keep in composer.json:

{
    "require": {
      "sunaoka/holidays": "^1.1"
    },
    "scripts": {
        "pre-autoload-dump": [
            "Sunaoka\\Holidays\\Task\\Composer::removeHolidays"
        ]
    },
    "extra": {
        "sunaoka/holidays": [
            "jp",
            "us"
        ]
    }
}

In this example, when running composer update or composer install, all holidays except Japan (jp) and United States of America (us) will be removed.

sunaoka/holidays 适用场景与选型建议

sunaoka/holidays 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.75k 次下载、GitHub Stars 达 1, 最近一次更新时间为 2022 年 01 月 27 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 sunaoka/holidays 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 sunaoka/holidays 我们能提供哪些服务?
定制开发 / 二次开发

基于 sunaoka/holidays 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 1.75k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 15
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-01-27