PHPackages                             sekidenkiku/syukujitsu - 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. sekidenkiku/syukujitsu

ActiveLibrary

sekidenkiku/syukujitsu
======================

日本の祝日を取得します。

1.0.2(5y ago)016MITPHPPHP &gt;=7.1CI failing

Since May 11Pushed 4y agoCompare

[ Source](https://github.com/sekidenkiku/syukujitsu)[ Packagist](https://packagist.org/packages/sekidenkiku/syukujitsu)[ Docs](https://github.com/sekidenkiku/syukujitsu)[ RSS](/packages/sekidenkiku-syukujitsu/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (1)Versions (4)Used By (0)

Syukujitsu
==========

[](#syukujitsu)

日本の祝日を取得します。

特徴
--

[](#特徴)

- 国民の祝日に関する法律(1948年7月20日施行)で定められた国民の祝日と休日（振替休日、国民の休日）(以下、祝日とする)を取得します。 1948年7月20日以降の祝日が対象です。
- 祝日は、DateTimeクラスの拡張クラスオブジェクトで返されます。
- 春分の日、秋分の日は2150年まで対応しています。
- 2019年、2020年の祝日変更に対応済みです。
- 2021年の祝日変更に対応済みです。

注意事項
----

[](#注意事項)

- 将来、法改正により、祝日の月日などが変更される場合があります。
- 春分の日と秋分の日は、法律で具体的に月日が明記されず、それぞれ「春分日」、「秋分日」と定められています。 本プログラムでは計算により求めた「春分日」、「秋分日」を使用しています。

インストール要件
--------

[](#インストール要件)

- PHP &gt;= 7.1

インストール方法
--------

[](#インストール方法)

```
$ composer require sekidenkiku/syukujitsu
```

使用例

```
require_once('vendor/autoload.php');

use sekidenkiku\syukujitsu\Syukujitsu;

$syukujitsu = new Syukujitsu();
```

使用方法
----

[](#使用方法)

**1.祝日のリストを取得**

```
find(int $year, ?int $month = null): array
```

結果は、HolidayClassクラスのインスタントで返されます。HolidayClassクラスはDateTimeクラスの拡張クラスです。

- 月の祝日を取得する。

```
$syukujitsu = new Syukujitsu();

// 2020年5月を指定。
$holidays = $syukujitsu->find(2020, 5);

foreach($holidays as $holiday)
{
    // 返値$holidayはDateTimeクラスの拡張クラスオブジェクトなのでformat()で日付の書式を変更できます。
    echo $holiday->format("Y-m-d") . ": " . $holiday->getName() . "";
}
/*
2020-05-03: 憲法記念日
2020-05-04: みどりの日
2020-05-05: こどもの日
2020-05-06: 振替休日
*/

// ■祝日がない場合、空の配列を返します。
$holidays = $syukujitsu->find(2020, 6);

var_dump($holidays); // array(0) {}
```

- 年の祝日を取得する
    find関数の引数$monthを省略すると、1年分の祝日を取得できます。

```
$syukujitsu = new Syukujitsu();

// 2020年を指定。※月の引数を省略。
$holidays = $syukujitsu->find(2020);

foreach($holidays as $holiday)
{
    echo $holiday->format("Y-m-d") . ": " . $holiday->getName() . "";
}
/*
2020-01-01: 元日
2020-01-13: 成人の日
2020-02-11: 建国記念の日
2020-02-23: 天皇誕生日
2020-02-24: 振替休日
2020-03-20: 春分の日
2020-04-29: 昭和の日
2020-05-03: 憲法記念日
2020-05-04: みどりの日
2020-05-05: こどもの日
2020-05-06: 振替休日
2020-07-23: 海の日
2020-07-24: スポーツの日
2020-08-10: 山の日
2020-09-21: 敬老の日
2020-09-22: 秋分の日
2020-11-03: 文化の日
2020-11-23: 勤労感謝の日
*/

// ■対象外の年の場合
$holidays = $syukujitsu->find(1900);

var_dump($holidays);
// array(0) {} ※祝日を取得できない場合、空の配列を返します。
```

**2.日付を指定してチェック**

```
check(string $time): ?HolidayClass
```

結果は、HolidayClassクラスのインスタントで返されます。HolidayClassクラスはDateTimeクラスの拡張クラスです。

- 2000年1月1日をチェックする。

```
$syukujitsu = new Syukujitsu();

$holiday = $syukujitsu->check("2000-01-01");

if( !is_null($holiday) )
{
   echo $holiday->format("Y-m-d") . ": " . $holiday->getName() . "";
}
// 2000-01-01: 元日

// ■祝日でない場合
$holiday = $syukujitsu->check("2000-01-02");

var_dump($holiday); // NULL ※祝日でない場合NULLを返します。
```

ライセンス
-----

[](#ライセンス)

MIT License

補足
--

[](#補足)

返値のタイムゾーンはデフォルトのタイムゾーンになります。
タイムゾーンを変更したい場合は、インスタント作成時に設定してください。

```
$syukujitsu = new Syukujitsu(new DateTimeZone('Asia/Tokyo'));

$holiday = $syukujitsu->check("2000-01-01");

var_dump($holiday);
/*
object(sekidenkiku\syukujitsu\HolidayClass)#6 (4) {
  ["holiday_name":"sekidenkiku\syukujitsu\HolidayClass":private]=>
  string(6) "元日"
  ["date"]=>
  string(26) "2000-01-01 00:00:00.000000"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(10) "Asia/Tokyo"
}
*/
```

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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 ~281 days

Total

3

Last Release

1998d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/556680fc7f03f1e776c879968d7f249f21908c302d758dadc5f1d7b924738bee?d=identicon)[sekidenkiku](/maintainers/sekidenkiku)

---

Top Contributors

[![sekidenkiku](https://avatars.githubusercontent.com/u/47618149?v=4)](https://github.com/sekidenkiku "sekidenkiku (2 commits)")

---

Tags

holidayjapanese-holidayphpphpholidayjapanese-holiday

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/sekidenkiku-syukujitsu/health.svg)

```
[![Health](https://phpackages.com/badges/sekidenkiku-syukujitsu/health.svg)](https://phpackages.com/packages/sekidenkiku-syukujitsu)
```

###  Alternatives

[pestphp/pest-plugin-stressless

Stressless plugin for Pest

67792.6k16](/packages/pestphp-pest-plugin-stressless)

PHPackages © 2026

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