2013年11月15日金曜日

JavaScriptで節分の日付を求める

JavaScript で節分の計算をするサンプルです。
節分は必ず2月3日というわけではなく、年によって2日や4日へ変化します。
Wikipedia に予測値が載っているのでそちらを参考に計算できます。
http://ja.wikipedia.org/wiki/節分
var year = 1989; // 調べる年
var SETSUBUN = [
    {
        range: [1915, 1987],
        remainder: [3, 3, 3, 3]
    },
    {
        range: [1952, 1987],
        remainder: [4, 3, 3, 3]
    },
    {
        range: [1985, 2024],
        remainder: [3, 3, 3, 3]
    },
    {
        range: [2022, 2057],
        remainder: [3, 2, 3, 3]
    },
    {
        range: [2055, 2090],
        remainder: [3, 2, 2, 3]
    },
    {
        range: [2088, 2100],
        remainder: [3, 2, 2, 2]
    },
    {
        range: [2101, Number.POSITIVE_INFINITY],
        remainder: [4, 3, 3, 3]
    }
];

var setsubun;
for(var i = 0; i < SETSUBUN.length; i++) {
    if(SETSUBUN[i].range[0] <= year && year <= SETSUBUN[i].range[1]) {
        setsubun = SETSUBUN[i].remainder[year % 4];
        break;
    }
}

console.log(year + '年の節分は2月' + setsubun + '日です');  // 1989年の節分は2月3日です

0 件のコメント:

コメントを投稿