
Security News
Meet Socket at Black Hat and DEF CON 2025 in Las Vegas
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
japanese-holidays
Advanced tools
日本の休日を JavaScript で計算するためのライブラリです。
ソースは coffeescript で書かれており、それをコンパイルした物が lib に入っています。 ご利用の際には lib 内の japanese-holidays.js や japanese-holidays.min.js を使ってください。
lib/ 以下のファイルは自動生成された物です。これらを編集しないようにしてください。
$ npm install japanese-holidays
<script src="https://cdn.rawgit.com/osamutake/japanese-holidays-js/v1.0.10/lib/japanese-holidays.min.js"></script>
指定された日が休日かどうかを判定して、休日ならその名前を返します。
休日でなければ undefined を返します。
furikae に false を指定すると振替休日を除きます。
内部ではキャッシュした値を使って計算するため繰り返し呼ぶ際にはとても高速に動作します。
Node:
// デバッグ用のソースマップサポート
// 例外発生時に CoffeeScript の行番号を出すことができる
require('source-map-support').install();
// ここからが本文
var JapaneseHolidays = require('japanese-holidays');
var today = new Date();
var holiday = JapaneseHolidays.isHoliday(today);
if(holiday) {
console.log("今日は " + holiday + " です");
} else {
console.log("今日は祝日ではありません");
}
On the web:
<script src="https://cdn.rawgit.com/osamutake/japanese-holidays-js/v1.0.10/lib/japanese-holidays.min.js"></script>
<script>
var today = new Date();
var holiday = JapaneseHolidays.isHoliday(today);
if(holiday) {
alert("今日は " + holiday + " です");
} else {
alert("今日は祝日ではありません");
}
</script>
指定された年の休日を配列にして返します。
配列には {month: m, date: d, name: s} の形で表わされた休日が日付順に並びます。
furikae に false を指定すると、振替休日および国民の休日を除きます。
Node:
// デバッグ用のソースマップサポート
// 例外発生時に CoffeeScript の行番号を出すことができる
require('source-map-support').install();
// ここからが本文
var JapaneseHolidays = require('japanese-holidays');
var today = new Date();
var holidays = JapaneseHolidays.getHolidaysOf( today.getFullYear() );
holidays.forEach(function(holiday) {
console.log(
today.getFullYear() + "年" +
holiday.month + "月" +
holiday.date + "日は " +
holiday.name + " です"
);
});
On the web:
<script src="https://cdn.rawgit.com/osamutake/japanese-holidays-js/v1.0.10/lib/japanese-holidays.min.js"></script>
<script>
var today = new Date();
var holidays = JapaneseHolidays.getHolidaysOf( today.getFullYear() );
holidays.forEach(function(holiday) {
document.write(
today.getFullYear() + "年" +
holiday.month + "月" +
holiday.date + "日は " +
holiday.name + " です<br>"
);
});
</script>
春分・秋分の日は年によって日付が異なります。
この理由は、暦の上での1年の長さが閏年分だけ等間隔にならないため、 本来ほぼ正確に等間隔でやってくる春分・秋分の日付がカレンダー上でずれてしまうためです。 とはいえ、春分・秋分の間隔も完全に等間隔ではなく、毎年少しずつ揺れ動くようです。
Wikipedia の 春分 ・ 秋分 のページに 1600年~2399年 のデータがあって、そこから周期を求めることで、 春分についてはすべての範囲で計算と実測とが一致しました。秋分については ふらつきが大きいようで、計算だけではどうしても一致しなかったため、 いくつかの値についてのみ個別に指定しています。
結果として、1600年~2399年 の範囲で上記 Wikipedia のページにあった日付を 再現できています。
JapaneseHolidays.isHoliday
は与えられた「時刻」ではなく「日付」を元に祝日を判定します。
例えばニュージーランドで
JapaneseHolidays.isHoliday(new Date(2016,3-1,8));
とすると、ニュージーランド時間の 2016-03-08 00:00:00
が関数に渡されます。
これは日本時間では 2016-03-07 21:00:00
を表しますが、
isHoliday
は与えられた日付 3/8 が休日かどうかを判定するということです。
多くの場合これは利用者の意図するところだと思います。
万一、与えた「時刻」において日本で休日かどうかを判定する必要があれば、
JapaneseHolidays.isHolidayAt(new Date(2016,3-1,8));
を呼んでください。例えばニュージーランドでこれを呼べば、3/7 が休日かどうかが判定されます。
MIT
FAQs
Provides utilities to manipulate japanese holidays.
The npm package japanese-holidays receives a total of 8,096 weekly downloads. As such, japanese-holidays popularity was classified as popular.
We found that japanese-holidays demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
Security News
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
Security News
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.