// 给定年月获取当月天数 function GetMDay(y, m) { var mday = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)//判断是否是闰月 //if ((y % 40 == 0 && y % 100 != 0) || y % 400 == 0)//判断是否是闰月 mday[1] = 29; return mday[m - 1]; } // 获取星期数 function WeekNumber(y, m, d) { var wk; if (m <= 12 && m >= 1) { for (var i = 1; i < m; ++i) { d += GetMDay(y, i); } } /*根据日期计算星期的公式*/ //当前月第一天星期几: wk=new Date(y+'-'+m+'-'+01).getDay(); //0对应星期天,1对应星期一 return parseInt(wk); } function getCalendar(year, month,options) { var ext = { twomon : false }; if(options){ $.extend(ext, options); } var daynumber = GetMDay(year, month); //当月天数 var firstnumber = WeekNumber(year, month, 1); //当月第一天星期 var lastnumber = WeekNumber(year, month, daynumber); //当月最后一天星期 // var weeknumber = (daynumber - (7 - firstnumber) - (lastnumber + 1)) / 7; //除去第一个星期和最后一个星期的周数 var myDate = new Date(); var mynow = myDate.getDate(); var myyear = myDate.getFullYear(); var myth = myDate.getMonth()+1; var nowday = {y:myyear,m:myth,d:mynow}; var nextday = {y:myyear,m:myth,d:mynow+1}; var jrArr=[{d:'2021-5-1',v:'劳动节'},{d:'2021-6-1',v:'儿童节'},{d:'2021-6-14',v:'端午'},{d:'2021-9-21',v:'中秋'}]; var calendar=[]; var flag=false,tmpdate=0,twomon=false; if(year==nowday.y&&month==nowday.m){ twomon=(daynumber-(lastnumber + 1)-14)=nowday.d&&year>=nowday.y&&month>=nowday.m)||year>nowday.y||(year>=nowday.y&&month>nowday.m))calendar[i][j]['act']=true; }else{ calendar[i][j]['date']=''; } if(calendar[i][j]['date']!=''){ calendar[i][j]['y']=year;calendar[i][j]['m']=month; calendar[i][j]['d']=tmpdate; } }else{ if(i<3){ if(tmpdate=nowday.d)calendar[i][j]['act']=true; calendar[i][j]['date']=year+'-'+month+'-'+(++tmpdate); calendar[i][j]['y']=year;calendar[i][j]['m']=month; calendar[i][j]['d']=tmpdate; }else{ calendar[i][j]['date']=''; } }else{ if(!flag&&j==firstnumber1&&i==3)flag=true; if(flag){ calendar[i][j]['act']=true; calendar[i][j]['date']=year1+'-'+month1+'-'+(++tmpdate1); calendar[i][j]['y']=year1;calendar[i][j]['m']=month1; calendar[i][j]['d']=tmpdate1; }else{ calendar[i][j]['date']=''; } } } calendar[i][j]['text']=calendar[i][j]['d']; if(j==0||j==6)calendar[i][j]['zm']=true; } } calendar[0][0]['nowMonText']=year+'年'+month+'月'; if(month==1){ calendar[0][0]['preMonA']='12月'; calendar[0][0]['preMonAY']=year-1;calendar[0][0]['preMonAM']=12; }else{ calendar[0][0]['preMonA']=(month-1)+'月'; calendar[0][0]['preMonAY']=year;calendar[0][0]['preMonAM']=month-1; } if(month==12){ calendar[0][0]['nextMonA']='1月'; calendar[0][0]['nextMonAY']=year+1;calendar[0][0]['nextMonAM']=1; }else{ calendar[0][0]['nextMonA']=(month+1)+'月'; calendar[0][0]['nextMonAY']=year;calendar[0][0]['nextMonAM']=month+1; } for(var i=0;i