hostnet/bank-holiday-component

Component that provides bank holidays and business day dates

1.1.0 2018-05-04 14:59 UTC

README

68747470733a2f2f7777772e686f73746e65742e6e6c2f696d616765732f686f73746e65742e737667

This component provides bank holidays and business day dates. The component is created to make it easy to calculate holidays in an extendable way.

Currently, this component only contains the Dutch holidays, but pull requests for other (country's) bank holidays are welcome.

Installation

Installation of the bundle can be done via composer and is the recommended way of adding the bundle to your application. To do so, execute the following command to download the latest stable version of this bundle:

composer require hostnet/bank-holiday-component

This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.

This bundle and the component follow semantic versioning strictly.

Usage

<?php
require_once('vendor/autoload.php');

$bank_holiday_resolver = new \Hostnet\Component\BankHoliday\BankHolidayResolver(\Hostnet\Component\BankHoliday\BankHoliday::DUTCH_BANK_HOLIDAY_SET);
$business_day_resolver = new \Hostnet\Component\BankHoliday\BusinessDayResolver($bank_holiday_resolver);

$business_day_resolver->isBusinessDay(new \DateTime('2017-04-17')); // false

foreach ($bank_holiday_resolver->getByDate(new \DateTime('2017-04-17')) as $bank_holiday) {
    print $bank_holiday . "\n"; // easter_monday
}

Requirements

PHP 7.0.x or above.

License

This library is licensed under the MIT License, meaning you can reuse the code within proprietary software provided that all copies of the licensed software include a copy of the MIT License terms and the copyright notice.

For more information, see the LICENSE file.