js中获取农历日期,根据节日自动更换背景页
获取农历日期的js/**获取农历 start*/function getLunar(){var nyear;var nmonth;var nday = -1;var nwday;var nhrs;var nmin;var nsec;var lmonth, lday, lleap; //农历参数function Draw() {NewTick();//显示时间var s = nyear + '年' + nmonth + '月' + nday + '日 ' + '星期' + cweekday(nwday) + ' ' + shapetime(nhrs, nmin, nsec);s += " 农历" + lmonth + "月" + lday; //农历var lunar_month_day=lmonth + "月" + lday;//需要展示在页面地方$(".getnongli").val(lunar_month_day);// return lunar_month_day;}function NewTick() {debugger;noww = new Date();//new Date里的参数用/分隔开例:202/9/2if (noww.getDate() != nday) {nyear = noww.getFullYear();nmonth = noww.getMonth() + 1;nwday = noww.getDay();nday = noww.getDate();getlunar(); //获取农历}nhrs = noww.getHours();nmin = noww.getMinutes();nsec = noww.getSeconds();}//辅助函数var hzWeek = new Array("日", "一", "二", "三", "四", "五", "六", "日");function cweekday(wday) {return hzWeek[wday];}function shapetime(vhrs, vmin, vsec) {if (vsec <= 9) vsec = "0" + vsec;if (vmin <= 9) vmin = "0" + vmin;if (vhrs <= 9) vhrs = "0" + vhrs;return vhrs + ":" + vmin + ":" + vsec}//农历函数开始var lunarInfo = new Array(0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2, 0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977, 0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, 0x06566, 0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950, 0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, 0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0, 0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0, 0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6, 0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570, 0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x05ac0, 0x0ab60, 0x096d5, 0x092e0, //19900x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5, 0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, 0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530, 0x05aa0, 0x076a3, 0x096d0, 0x04bd7, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45, 0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0, 0x14b63);function lYearDays(y) {var i, sum = 348;for (i = 0x8000; i > 0x8; i >>= 1) sum += (lunarInfo[y - 1900] & i) ? 1 : 0;return (sum + leapDays(y));}function leapDays(y) {if (leapMonth(y)) return ((lunarInfo[y - 1900] & 0x10000) ? 30 : 29);else return (0);}function leapMonth(y) {return (lunarInfo[y - 1900] & 0xf);}function monthDays(y, m) {return ((lunarInfo[y - 1900] & (0x10000 >> m)) ? 30 : 29);}function Lunar(y, m, d) {var i, leap = 0,temp = 0;var offset = (Date.UTC(y, m, d) - Date.UTC(1900, 0, 31)) / 86400000;for (i = 1900; i < 2050 && offset > 0; i++) {temp = lYearDays(i);offset -= temp;}if (offset < 0) {offset += temp;i--;}this.year = i;leap = leapMonth(i);this.isLeap = false;for (i = 1; i < 13 && offset > 0; i++) {if (leap > 0 && i == (leap + 1) && this.isLeap == false) {--i;this.isLeap = true;temp = leapDays(this.year);} else {temp = monthDays(this.year, i);}if (this.isLeap == true && i == (leap + 1)) this.isLeap = false;offset -= temp;}if (offset == 0 && leap > 0 && i == leap + 1) if (this.isLeap) {this.isLeap = false;} else {this.isLeap = true; --i;}if (offset < 0) {offset += temp; --i;}this.month = i;this.day = offset + 1;}var nStr1 = new Array('', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二');var nStr2 = new Array('初', '十', '廿', '卅', '□');function GetcDay(d) {var s;switch (d) {case 10:s = '初十';break;case 20:s = '二十';break;case 30:s = '三十';break;default:s = nStr2[Math.floor(d / 10)];s += nStr1[d % 10];break;}return (s);}function GetcMon(m) {if (m == 1) return '正';else return nStr1[m];}function getlunar() {var lObj = new Lunar(nyear, nmonth - 1, nday);lmonth = GetcMon(lObj.month);lday = GetcDay(lObj.day);lleap = lObj.isLeap;if (lleap == 1) {lmonth = "闰" + lmonth;}}//农历函数结束Draw();}/**获取农历 end*//*在可以寄调用获取系统农历日期getLunar();*/
2.调用getLunar()函数即可获取日期,上面代码中 $(“.getnongli”).val(lunar_month_day);可以替换元素的;
3.节日自动更换背景页
<body><input class="getnongli" type="hidden" /></body>function changeBackground(){var nongliDate=getNongli();//农历日期var daytime_sk = (new Date().getMonth()+1)+"-"+new Date().getDate();//阴历日期debugger;if(daytime_sk=="1-1"){$("#body_div").css("background","url(res/skin/default/images/yuandan.png) no-repeat");$("#body_div").css("background-size","100% 100%");}else if(daytime_sk=="4-5"){$("#body_div").css("background","url(res/skin/default/images/qingming.png) no-repeat");$("#body_div").css("background-size","100% 100%");}else if(daytime_sk=="5-1"){$("#body_div").css("background","url(res/skin/default/images/wuyi.png) no-repeat");$("#body_div").css("background-size","100% 100%");}else if(daytime_sk=="10-1"){$("#body_div").css("background","url(res/skin/default/images/guoqing.png) no-repeat");$("#body_div").css("background-size","100% 100%");}else if(daytime_sk=="10-16"){$("#body_div").css("background","url(res/skin/default/images/ershida.png) no-repeat");$("#body_div").css("background-size","100% 100%");}else if(nongliDate=="正月初一"){$("#body_div").css("background","url(res/skin/default/images/chunjie.png) no-repeat");$("#body_div").css("background-size","100% 100%");}else if(nongliDate=="五月初五"){$("#body_div").css("background","url(res/skin/default/images/duanwu.png) no-repeat");$("#body_div").css("background-size","100% 100%");}else if(nongliDate=="八月十五"){$("#body_div").css("background","url(res/skin/default/images/zhongqiu.png) no-repeat");$("#body_div").css("background-size","100% 100%");}else{$("#body_div").css("background","url(res/skin/default/images/loginPage.png) no-repeat");$("#body_div").css("background-size","100% 100%");}}/*** JS*获取农历日期 格式(正月初一 八月十五)*/function getNongli(){debugger;getLunar();var str=$(".getnongli").val();return str;}