PHPackages                             schoppax/business-days-calculator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. schoppax/business-days-calculator

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

schoppax/business-days-calculator
=================================

Business day calculation

1.0.7(3y ago)04.8kMITPHPPHP &gt;=7.3.0

Since Jan 6Pushed 3y ago1 watchersCompare

[ Source](https://github.com/SchoppAx/business-days-calculator)[ Packagist](https://packagist.org/packages/schoppax/business-days-calculator)[ RSS](/packages/schoppax-business-days-calculator/feed)WikiDiscussions master Synced today

READMEChangelog (4)Dependencies (2)Versions (6)Used By (0)

business-days-calculator
========================

[](#business-days-calculator)

Business Days Calculator

[![Build Status](https://camo.githubusercontent.com/8ee15300fb078147c8980860d0b456ffb3c913c92d464923527072bf08604c08/68747470733a2f2f7777772e7472617669732d63692e6f72672f5363686f707041782f627573696e6573732d646179732d63616c63756c61746f722e7376673f6272616e63683d6d6173746572)](https://www.travis-ci.org/SchoppAx/business-days-calculator) [![Scrutinizer Code Quality](https://camo.githubusercontent.com/09949804c28c93a0a02eda9db3cc30436cfe663b30384b46d224ff4b1243c9ed/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f5363686f707041782f627573696e6573732d646179732d63616c63756c61746f722f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/SchoppAx/business-days-calculator/?branch=master) [![Coverage Status](https://camo.githubusercontent.com/a44edca0233891e79c9d55d3664cae7179164ab4fa5889cc65f9ca378184d862/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f5363686f707041782f627573696e6573732d646179732d63616c63756c61746f722f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/github/SchoppAx/business-days-calculator?branch=master) [![Latest Stable Version](https://camo.githubusercontent.com/5a8e4ad649ca4863d0db35df13589b2408bad212b7b5741f4953bc741de7bdc3/68747470733a2f2f706f7365722e707567782e6f72672f7363686f707061782f627573696e6573732d646179732d63616c63756c61746f722f762f737461626c65)](https://packagist.org/packages/schoppax/business-days-calculator) [![License](https://camo.githubusercontent.com/8eaf0175ce9cc4279dc5b041372e930aae1929bb1bf842b9155a79e03d379caa/68747470733a2f2f706f7365722e707567782e6f72672f616e6472656a7373746570616e6f76732f627573696e6573732d646179732d63616c63756c61746f722f6c6963656e73652e706e67)](https://packagist.org/packages/schoppax/business-days-calculator)

Install
-------

[](#install)

- If you're using Composer to manage dependencies, you can use

```
composer require schoppax/business-days-calculator
```

or add to your composer.json file:

```
"require": {
    "schoppax/business-days-calculator": "1.*",
}

```

Example
=======

[](#example)

```
use \BusinessDays\Calculator;

$holidays = [
    new \DateTime('2000-12-31'),
    new \DateTime('2001-01-01')
];

$freeDays = [
    new \DateTime('2000-12-28')
];

$freeWeekDays = [
    Calculator::SATURDAY,
    Calculator::SUNDAY
];

$calculator = new Calculator();
$calculator->setFreeWeekDays($freeWeekDays); // repeat every week
$calculator->setHolidays($holidays);         // repeat every year
$calculator->setFreeDays($freeDays);         // don't repeat

$result = $calculator->addBusinessDays(new \DateTime('2000-12-27', 3);    // add X working days
echo $result->format('Y-m-d');               // 2001-01-03

$result = $calculator->addBusinessDays(new \DateTime('2000-01-03', -3);   // substract X working days
echo $result->format('Y-m-d');               // 2001-12-27

$result = $calculator->getBusinessDays(new \DateTime('2000-12-27', 3);    // get all X working days
foreach ($result as $dt) {
    echo $dt->format('Y-m-d');               // 2000-12-29 / 2001-01-02 / 2001-01-03
}

$result = $calculator->getBusinessDaysBetween(new \DateTime('2000-12-27', new \DateTime('2001-01-03');
foreach ($result as $dt) {
    echo $dt->format('Y-m-d');               // 2000-12-29 / 2001-01-02 / 2001-01-03
}
echo count($result);                        // 3
```

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~730 days

Total

5

Last Release

1278d ago

PHP version history (2 changes)1.0.0PHP &gt;=5.4.0

1.0.4PHP &gt;=7.3.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/18134256?v=4)[SchoppAx](/maintainers/SchoppAx)[@SchoppAx](https://github.com/SchoppAx)

---

Top Contributors

[![SchoppAx](https://avatars.githubusercontent.com/u/18134256?v=4)](https://github.com/SchoppAx "SchoppAx (22 commits)")[![andrejsstepanovs](https://avatars.githubusercontent.com/u/324553?v=4)](https://github.com/andrejsstepanovs "andrejsstepanovs (20 commits)")[![royopa](https://avatars.githubusercontent.com/u/442991?v=4)](https://github.com/royopa "royopa (4 commits)")[![styks1111](https://avatars.githubusercontent.com/u/642930?v=4)](https://github.com/styks1111 "styks1111 (2 commits)")[![lucasff](https://avatars.githubusercontent.com/u/4260591?v=4)](https://github.com/lucasff "lucasff (1 commits)")

---

Tags

businessdays

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/schoppax-business-days-calculator/health.svg)

```
[![Health](https://phpackages.com/badges/schoppax-business-days-calculator/health.svg)](https://phpackages.com/packages/schoppax-business-days-calculator)
```

###  Alternatives

[florianv/business

DateTime calculations in business hours

362784.1k1](/packages/florianv-business)[andrejsstepanovs/business-days-calculator

Business day calculation

2362.8k](/packages/andrejsstepanovs-business-days-calculator)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
