JavaScriptで節分の日を調べる関数

節分は毎年2月3日です。しかし昔は2月4日の年もあったような気がします。
調べてみると1952年から1984年までは閏年は2月4日が節分でした。若い人はこの事実を知らないでしょう。
ウィキペディアに節分が何日かを求める表が載っていたので、JavaScriptで関数を書いてみました。
西暦年を与えると2月の何日かを返します。1901年から2100年まで対応しています。

function setsubun(nen) {
  var errorMessage = "年が範囲外です。";
  if(nen < 1901) {
    throw new Error(errorMessage);
  } else if(nen < 1915) {
    return(nen - 1) % 4 < 1 ? 3 : 4;
  } else if(nen < 1952) {
    return(nen - 1) % 4 < 2 ? 3 : 4;
  } else if(nen < 1985) {
    return(nen - 1) % 4 < 3 ? 3 : 4;
  } else if(nen < 2021) {
    return 3;
  } else if(nen < 2055) {
    return(nen - 1) % 4 < 1 ? 2 : 3;
  } else if(nen < 2088) {
    return(nen - 1) % 4 < 2 ? 2 : 3;
  } else if(nen < 2101) {
    return(nen - 1) % 4 < 3 ? 2 : 3;
  } else {
    throw new Error(errorMessage);
  }
}

2021年1月14日追記
コードに誤りがあったので修正しました。

コメント

タイトルとURLをコピーしました