calc / date
日本の祝日計算
指定した年の日本の祝日一覧を計算します。ハッピーマンデー・振替休日・国民の祝日に対応しています。
年を入力して「計算」ボタンを押してください
使い方
01- 年を入力して「計算」ボタンを押すと、その年の祝日一覧が表示されます
- 「日付リストをコピー」ボタンで yyyy-mm-dd 形式の日付リストをクリップボードにコピーできます
- コピーした内容を「営業日計算」ツールの祝日欄に貼り付けることで、正確な営業日計算ができます
実装コード
02外部APIなし、ブラウザ標準の Date オブジェクトのみで実装しています。
export function getHolidays(year: number): Holiday[] {
const holidays: Holiday[] = []
// 固定祝日
holidays.push({ date: `${year}-01-01`, name: '元日' })
// ... 他の固定祝日
// ハッピーマンデー(第n月曜)
holidays.push({ date: nthMonday(year, 1, 2), name: '成人の日' })
holidays.push({ date: nthMonday(year, 7, 3), name: '海の日' })
holidays.push({ date: nthMonday(year, 9, 3), name: '敬老の日' })
holidays.push({ date: nthMonday(year, 10, 2), name: 'スポーツの日' })
holidays.sort((a, b) => a.date.localeCompare(b.date))
// 国民の祝日(前後両日が祝日の平日)
// ...
// 振替休日(祝日が日曜→翌月曜)
// ...
return holidays.sort((a, b) => a.date.localeCompare(b.date))
}よくある使用例・注意点
03ハッピーマンデー制度
成人の日(1月第2月曜)・海の日(7月第3月曜)・敬老の日(9月第3月曜)・スポーツの日(10月第2月曜)は固定日付ではなく、第n月曜に設定されています。
春分の日・秋分の日について
正確な春分・秋分は天文計算が必要です。このツールでは一般的に使われる3月21日・9月23日を固定値として使用しています。年によって1日ずれる場合があります。
振替休日のルール
祝日が日曜日にあたる場合、翌月曜日が振替休日になります。翌月曜日も祝日の場合は、さらに翌日に繰り越されます。
国民の祝日
前日と翌日がどちらも祝日で、その日が平日の場合「国民の祝日」になります。例:5月3日(憲法記念日)と5月5日(こどもの日)に挟まれた5月4日がみどりの日になる前の年など。
関連ツール
04ソースコード
05このツールのソースコード(テストコードを含む)はGitHubで公開しています。MITライセンスで自由に利用・改変できます。
GitHub でコードを見る →