js 公曆日期轉農曆帶節假日

2021-09-29 11:23:42 字數 3849 閱讀 4725

首先獲取公曆節假日**:

var basejieri=;

//農曆的月日

var parholiday = ((month+1) > 9 ? (month+1) : "0"+(month+1)) + "" + (i > 9 ? i : "0" + i);

if(basejieri.hasownproperty(parholiday))

呼叫方法:

//呼叫js方法,引數分別是公曆年、月、日;返回農曆日期或農曆節假日

var adate = getlunarcalendar(year, month, i);

公曆轉農曆js:

var lunarinfo = new array(

0x4bd8, 0x4ae0, 0xa570, 0x54d5, 0xd260, 0xd950, 0x5554, 0x56af, 0x9ad0, 0x55d2,

0x4ae0, 0xa5b6, 0xa4d0, 0xd250, 0xd255, 0xb54f, 0xd6a0, 0xada2, 0x95b0, 0x4977,

0x497f, 0xa4b0, 0xb4b5, 0x6a50, 0x6d40, 0xab54, 0x2b6f, 0x9570, 0x52f2, 0x4970,

0x6566, 0xd4a0, 0xea50, 0x6a95, 0x5adf, 0x2b60, 0x86e3, 0x92ef, 0xc8d7, 0xc95f,

0xd4a0, 0xd8a6, 0xb55f, 0x56a0, 0xa5b4, 0x25df, 0x92d0, 0xd2b2, 0xa950, 0xb557,

0x6ca0, 0xb550, 0x5355, 0x4daf, 0xa5b0, 0x4573, 0x52bf, 0xa9a8, 0xe950, 0x6aa0,

0xaea6, 0xab50, 0x4b60, 0xaae4, 0xa570, 0x5260, 0xf263, 0xd950, 0x5b57, 0x56a0,

0x96d0, 0x4dd5, 0x4ad0, 0xa4d0, 0xd4d4, 0xd250, 0xd558, 0xb540, 0xb6a0, 0x95a6,

0x95bf, 0x49b0, 0xa974, 0xa4b0, 0xb27a, 0x6a50, 0x6d40, 0xaf46, 0xab60, 0x9570,

0x4af5, 0x4970, 0x64b0, 0x74a3, 0xea50, 0x6b58, 0x5ac0, 0xab60, 0x96d5, 0x92e0,

0xc960, 0xd954, 0xd4a0, 0xda50, 0x7552, 0x56a0, 0xabb7, 0x25d0, 0x92d0, 0xcab5,

0xa950, 0xb4a0, 0xbaa4, 0xad50, 0x55d9, 0x4ba0, 0xa5b0, 0x5176, 0x52bf, 0xa930,

0x7954, 0x6aa0, 0xad50, 0x5b52, 0x4b60, 0xa6e6, 0xa4e0, 0xd260, 0xea65, 0xd530,

0x5aa0, 0x76a3, 0x96d0, 0x4afb, 0x4ad0, 0xa4d0, 0xd0b6, 0xd25f, 0xd520, 0xdd45,

0xb5a0, 0x56d0, 0x55b2, 0x49b0, 0xa577, 0xa4b0, 0xaa50, 0xb255, 0x6d2f, 0xada0,

0x4b63, 0x937f, 0x49f8, 0x4970, 0x64b0, 0x68a6, 0xea5f, 0x6b20, 0xa6c4, 0xaaef,

0x92e0, 0xd2e3, 0xc960, 0xd557, 0xd4a0, 0xda50, 0x5d55, 0x56a0, 0xa6d0, 0x55d4,

0x52d0, 0xa9b8, 0xa950, 0xb4a0, 0xb6a6, 0xad50, 0x55a0, 0xaba4, 0xa5b0, 0x52b0,

0xb273, 0x6930, 0x7337, 0x6aa0, 0xad50, 0x4b55, 0x4b6f, 0xa570, 0x54e4, 0xd260,

0xe968, 0xd520, 0xdaa0, 0x6aa6, 0x56df, 0x4ae0, 0xa9d4, 0xa4d0, 0xd150, 0xf252,0xd520);

var nstr1 = new array('日','一','二','三','四','五','六','七','八','九','十','十一','十二');

var nstr2 = new array('初','十','廿','三十');

//農曆節日

var lunarholiday = ;

//節氣

var solarterm = new array("小寒","大寒","立春","雨水","驚蟄","春分","清明","穀雨","立夏","小滿","芒種","夏至","小暑","大暑","立秋","處暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至");

var sterminfo = new array(0,21208,42467,63836,85337,107014,128867,150921,173149,195551,218072,240693,263343,285989,308563,331033,353350,375494,397447,419210,440795,462224,483532,504758);

//判斷y年的農曆中那個月是閏月

function leapmonth(y)

//返回農曆y年m月的總天數

function monthdays(y, m)

//返回農曆y年閏月的天數

function leapdays(y) else

}//返回農曆y年的總天數

function lyeardays(y)

return (sum + leapdays(y));

}// calcute 農曆年月日

function lunar(objdate)

if (offset < 0)

this.year = i;

leap = leapmonth(i); // 閏哪個月

this.isleap = false;

for (i = 1; i < 13 && offset > 0; i++) else

// 解除閏月

if (this.isleap == true && i == (leap + 1))

offset -= temp;

} if (offset == 0 && leap > 0 && i == leap + 1) else

} if (offset < 0)

this.month = i;

this.day = offset + 1;

}//獲取農曆

function getlunarcalendar(year, month, day)

if (m==12) }

//節氣

paraholiday = ((month+1) > 9 ? (month+1) : "0"+(month+1)) + "" + (day > 9 ? day : "0" + day);

for(var i = 0; i < stermdatearr.length; i++) }

if(d == 1) else

return lunar;

}//用中文顯示農曆的日期

function cday(d)

return s;

}//獲取y年的節氣

var stermdatearr = ;

function stermdate(y)

}

js 判斷日期是否節假日

判斷節假日 有陽曆的日期 也有陰曆的日期 所以要獲得兩個日期 加以判斷 這個只能用到 2020年 我發現 2021年開始 農曆就不對勁了 所以 我最終的解決方案在 最下面 這個 做乙個參考 1 function 30function e2c 38 total tmp 1921 365 math.fl...

C 演算法模板 日期型別題目 節假日

日曆有 陽曆 公曆 和 陰曆 農曆 之分。每年都有法定節假日,這些分成三類 雙休 陽曆節假日 陰曆節假日。雙休 陽曆節假日 元旦 陽曆每年 1 月 1 日,放假 11 天 勞動節 陽曆每年 5 月 1 日,放假 11天 國慶節 陽曆每年 10 月 1 日,放假 33天 聖誕節 陽曆每年 12 月 2...

免費節假日API 更新新功能了 新增農曆資訊返回

開發十年,就只剩下這套架構體系了!感謝大家對免費節假日api的支援.最近看了別家的api於是增加了一些新功能即獲取日期的農曆資訊.這個新功能還處於測試階段如有問題歡迎反饋 檢查乙個日期是詳細資訊 返回值 型別 說明status 0 失敗 1 成功 type 0工作日 1 假日 2節日 day年月日 ...