calc / date

日本の祝日計算

指定した年の日本の祝日一覧を計算します。ハッピーマンデー・振替休日・国民の祝日に対応しています。

年を入力して「計算」ボタンを押してください

使い方

01
  1. 年を入力して「計算」ボタンを押すと、その年の祝日一覧が表示されます
  2. 「日付リストをコピー」ボタンで yyyy-mm-dd 形式の日付リストをクリップボードにコピーできます
  3. コピーした内容を「営業日計算」ツールの祝日欄に貼り付けることで、正確な営業日計算ができます

実装コード

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 でコードを見る →