本文介绍了日期选择器在Internet Explorer 11中不起作用.javascript用于日期选择器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! //全局变量 var winCal; var dtToday = new Date(); var Cal; var docCal; var MonthName = [January,February,March,April,May,June,July, 八月,九月,十月,十一月,十二月]; var WeekDayName = [星期日,星期一,星期二,星期三, 星期四, 星期五, 星期六]; var exDateTime; //现有日期和时间 //可配置参数 var cnTop =200 ; //日历窗口的顶部坐标。 var cnLeft =500; //日历窗口的左侧坐标 var WindowTitle =DateTime Picker; //日期时间选择器标题。 var WeekChar = 2; //工作日的字符数。如果2然后莫,涂,我们。如果是3,那么星期一,星期二,星期三。 var CellWidth = 20; //日元格的宽度。 var DateSeparator =/; //日期分隔符,你如果你愿意,可以将它改为/。 var TimeMode = 24; //默认的TimeMode值。 12或24 var ShowLongMonth = true; //在Calendar标题中显示长月份名称。例如:1月。 var ShowMonthYear = true; //在Calendar标题中显示月份和年份。 var MonthYearColor =#cc0033; //字体颜色日历标题中的月份和年份。 var WeekHeadColor =#0099CC; //周标题中的背景颜色。 var SundayColor =#6699FF; //背景星期日的颜色。 var SaturdayColor =#CCCCFF; //星期六的背景颜色。 var WeekDayColor =white; //工作日的背景颜色。 var FontColor =blue; //日历日单元格中的字体颜色。 var TodayColor =#FFFF33; //今天的背景颜色。 var SelDateColor =#FFFF99; //文本框中所选日期的背景颜色。 var YrSelColor =#cc0033; //年份选择器的字体颜色。 /> var ThemeBg =; //日历窗口的背景图片。 // end可配置参数 //结束全局变量 函数NewCal(pCtrl,pFormat,pShowTime,pTimeMode) { Cal = n日历(今日); if((pShowTime!= null)&& (pShowTime)) { Cal.ShowTime = true; if((pTimeMode!= null)&&((pTimeMode == '12')||(pTimeMode == '24'))) { TimeMode = pTimeMode; } Cal.Ctrl = pCtrl; if(pFormat!= null) ) Cal.Format = pFormat.toUpperCase(); exDateTime = document.getElementById(pCtrl).value; if(exDateTime!=)//解析日期字符串 { var Sp1; //日期分隔符索引1 var Sp2; //日期分隔符索引2 var tSp1; //时间分隔符索引1 var tSp1; //时间分隔符索引2 var strMonth; var strDate; var strYear; var intMonth; var YearPattern; var strHour; var strMinute; var strSecond; //解析月份 Sp1 = exDateTime.indexOf(DateSeparato r,0) Sp2 = exDateTime.indexOf(DateSeparator,(parseInt(Sp1)+1)); if((Cal .Format.toUpperCase()==DDMMYYYY)|| (Cal.Format.toUpperCase()==DDMMMYYYY)) { strMonth = exDateTime.substring(Sp1 + 1,Sp2); strDate = exDateTime.substring(0,Sp1); } else if((Cal.Format.toUpperCase()==MMDDYYYY)|| (Cal.Format.toUpperCase()==MMMDDYYYY)) { strMonth = exDateTime.substring(0,Sp1); strDate = exDateTime.substring(Sp1 + 1,Sp2); } if(isNaN(strMonth)) intMonth = Cal。 GetMonthIndex(strMonth); else intMonth = parseInt(strMonth,10)-1; if((parseInt(intMonth,10)> = 0)&&(parseInt(intMonth,10)< 12)) Cal.Month = intMonth; //结束解析月 //解析日期 if((parseInt(strDate,10)< = Cal.GetMonDays ())&&(parseInt(strDate,10)> = 1)) Cal.Date = strDate; //结束解析日期 //解析年份 strYear = exDateTime.substring(Sp2 + 1,Sp2 + 5); YearPattern = / ^ \d {4} $ /; if(YearPattern.test(strYear)) Cal.Year = parseInt(strYear,10); // end解析年份 //解析时间 if(Cal.ShowTime == true) { tSp1 = exDateTime.indexOf(:,0) tSp2 = exDateTime.indexOf(:,(parseInt(tSp1)+1)); strHour = exDateTime。 substring(tSp1,(tSp1)-2); Cal.SetHour(strHour); strMinute = exDateTime.substring(tSp1 + 1,tSp2); Cal.SetMinute(strMinute); strSecond = exDateTim e.substring(tSp2 + 1,tSp2 + 3); Cal.SetSecond(strSecond); } } winCal = window.open(,DateTimePicker,toolbar = 0,status = 0,menubar = 0,fullscreen = no,width = 195,height = 245,resizable = 0,top =+ cnTop +,left =+ cnLeft); docCal = winCal.document; RenderCal(); } 函数RenderCal() { var vCalHeader; var vCalData; var vCalTime; var i; var j; var SelectStr; var vDayCount = 0; var vFirstDay; docCal.open(); docCal.writeln(< ; html>< head>< title>+ WindowTitle +< / title>); docCal.writeln(< script> var winMain = window.opener;< /脚本>); docCal.writeln(< / head>< body background ='+ ThemeBg +'link =+ FontColor +vlink =+ FontColor +><表格名称='日历'>); vCalHea der =\ n; //月选择器 vCalHeader + =\ n\ n; vCalHeader + =; //日历标题显示月份和年份 if(ShowMonthYear) vCalHeader + =\ n; //周日标题 vCalHeader + =; for(i = 0; i< 7 ; i ++) { vCalHeader + =; } vCalHeader + =; docCal.write(vCalHeader); //日历详情 CalDate =新日期(Cal。年,Cal.Month); CalDate.setDate(1); vFirstDay = CalDate.getDay(); vCalData = ; for(i = 0; i< vfirstday; i ++)> { vCalData = vCalData + GenCell(); vDayCount = vDayCount + 1; } for(j = 1; j< = Cal.GetMonDays(); j ++) { var strCell; vDayCount = vDayCount + 1; if((j == dtToday.getDate()) &&(Cal.Month == dtToday.getMonth())&&(Cal.Year == dtToday.getFullYear())) strCell = GenCell(j,true,TodayColor ); //突出显示今天的日期 else { if(j == Cal.Date) { strCell = GenCell(j,true,SelDateColor); } else { if(vDayCount%7 == 0) strCell = GenCell(j,false,SaturdayColor); el se if((vDayCount + 6)%7 == 0) strCell = GenCell(j,false,SundayColor); else strCell = GenCell(j,null,WeekDayColor); } } vCalData = vCalData + strCell; if((vDayCount%7 == 0)&&(j< cal.getmondays()))> { vCalData = vCalData +\ n; } } docCal.writeln(vCalData); //时间选择器 if(Cal.ShowTime) { var showHour; showHour = Cal.getShowHour(); vCalTime =\ n\ n; docCal.write(vCalTime); } //结束时间选择器 docCal.writeln(\ n ; //年份选择器 vCalHeader + =\ n \ n; vCalHeader + =< select name = \MonthSelector \onChange = \javascript:winMain.Cal.SwitchMth(this.selectedIndex); winMain.RenderCal(); \> \ n; for(i = 0; i< 12; i ++) { if(i == Cal.Month) SelectStr =已选择; 其他 SelectStr =; vCalHeader + =< option+ SelectStr +值>+ MonthName [i] +\ n; } vCalHeader + =< / select> << / fo nt> + Cal.Year + > + Cal。 GetMonthName(ShowLongMonth)++ Cal.Year + + WeekDayName [i] .substr(0,WeekChar)+ ; vCalTime + =< input type ='text'name ='hour'maxlength = 2 size = 1 style = \WIDTH:22px\\ \\value =+ showHour +onchange = \javascript:winMain.Cal.SetHour(this.value)\>; vCalTime + =:; vCalTime + =< input type ='text'name ='minute'maxlength = 2 size = 1 style = \WIDTH:22px \value =+ Cal.Minutes +onchange = \ javascript:winMain.Cal.SetMinute(this.value)\>; vCalTime + =:; vCalTi me + =< input type ='text'name ='second'maxlength = 2 size = 1 style = \WIDTH:22px \value =+ Cal.Seconds +onchange = \javascript:winMain。 Cal.SetSecond(this.value)\>; if(TimeMode == 12) { var SelectAm = (parseInt函数(Cal.Hours,10)< 12)? 已选择:; var SelectPm =(parseInt(Cal.Hours,10)> = 12)? 已选择:; vCalTime + =< select name = \ampm \onchange = \javascript:winMain.Cal.SetAmPm (this.options [this.selectedIndex] .value); \>; vCalTime + =< option+ SelectAm +value = \AM \> AM< ; / option>; vCalTime + =< option+ SelectPm +value = \PM \> PM< option>; vCalTime + =< / select>; } vCalTime + =\ n ) ; docCal.writeln(< / form>< / body>< / html>); docCal.close(); } 函数GenCell(pValue,pHighLight,pColor)//生成表格单元格值 { var PValue; var PCellStr; var vColor; var vHLstr1; // HighLight字符串 var vHlstr2; var vTimeStr; if(pValue == null) PValue = ; 其他 PValue = pValue; if(pColor!= null) vColor =bgcolor = \+ pColor +\; else vColor =; if((pHighLight!= null)&&(pHighLight)) {vHLstr1 =color ='red'> ; vHLstr2 = ;} 其他 {vHLstr1 =>; vHLstr2 =;}} if(Cal.ShowTime) { vTimeStr =winMain.document.getElementById('+ Cal.Ctrl +')。value + =' '++winMain.Cal.getShowHour()++':'++winMain.Cal.Minutes++':'++winMain.Cal.Seconds; if(TimeMode == 12) vTimeStr + =+''+ winMain.Cal.AMorPM; } 否则 vTimeStr =; PCellStr = + PValue ++ vHLstr2 + ; 返回PCellStr; } 函数日历(pDate,pCtrl) { //属性 this.Date = pDate.getDate(); //选择日期 this.Month = pDate。 getMonth(); //选择月份数 this.Year = pDate.getFullYear(); //选择4位数年份 this.Hours = pDate.getHours( ); if(pDate.getMinutes()< 10) this.Minutes =0+ pDate.getMinutes(); else this.Minutes = pDate.getMinutes(); if(pDate.getSeconds()< ; 10) this.Seconds =0+ pDate.getSeconds(); else this.Seconds = pDate.getSeconds( ); this.MyWindow = winCal; this.Ctrl = pCtrl; this.Format = ddMMyyyy; this.Separator = DateSeparator; this.ShowTime = false; if(pDate.getHours()< 12 ) this.AMorPM =AM; else this.AMorPM =PM; } 函数GetMonthIndex(shortMonthName) { for(i = 0; i< 12; i ++) { if(MonthName [i] .substring(0,3).toUpperCase()== shortMonthName.toUpperCase() ) {return i;} } } Calendar.prototype.GetMonthIndex = GetMonthIndex; 函数IncYear() {Cal.Year ++;} Calendar.prototype.IncYear = IncYear; 函数DecYear() {Cal.Year--;} Calendar.prototype.DecYear = DecYear; 函数SwitchMth(intMth) {Cal.Month = intMth;} Calendar.prototype.SwitchMth = SwitchMth; 函数SetHour(intHour) { var MaxHour; var MinHour; if(TimeMode == 24) {MaxHour = 23; MinHour = 0} else if(TimeMode = = 12) {MaxHour = 12; MinHour = 1} else alert(TimeMode c只有12或24); var HourExp = new RegExp(^ \\\\\ $); if(HourExp.test(intHour)&& (parseInt(intHour,10)< = MaxHour)&&(parseInt(intHour,10)> = MinHour)) { if((TimeMode) == 12)&&(Cal.AMorPM ==PM)) { if(parseInt(intHour,10)== 12) Cal.Hours = 12; else Cal.Hours = parseInt(intHour,10)+12; } else if((TimeMode == 12)&&(Cal.AMorPM ==AM)) { if(intHour == 12) intHour- = 12; Cal.Hours = parseInt(intHour,10); } else if(TimeMode == 24) Cal.Hours = parseInt(intHour,10); } } Calendar.prototype.SetHour = SetHour; function SetMinute(intMin) { var MinExp = new RegExp(^ \\\\\\d $); if(MinExp.test(intMin)&&(intMin< 60)) Cal.Minutes = intMin; } Calendar.prototype.SetMinute = SetMinute; 函数SetSecond(intSec) { var SecExp =新的RegExp(^ \\\\\ $); if(SecExp.test(intSec)&&(intSec< 60)) Cal.Seconds = intSec; } Calendar.prototype.SetSecond = SetSecond; 函数SetAmPm(pvalue) { this.AMorPM = pvalue; if(pvalue ==PM) { this.Hours =(parseInt(this.Hours,10))+ 12; if(this.Hours == 24) this.Hours = 12; } else if(pvalue ==AM) this.Hours- = 12; } Calendar.prototype.SetAmPm = SetAmPm; 函数getShowHour() { var finalHour; if(TimeMode == 12) { if(parseInt (this.Hours,10)== 0) { this.AMorPM =AM; finalHour = parseInt(这个。小时,10)12; } else if(parseInt(this.Hours,10)== 12) { this .AMorPM =PM; finalHour = 12; } else if(this.Hours> 12) { this.AMorPM =PM; if((this.Hours-12)< 10) finalHour =0+((parseInt(this.Hours,10)) - 12); else finalHour = parseInt(this.Hours,10)-12; } 其他 { this.AMorPM =AM; 如果(this.Hours< 10) finalHour =0+ parseInt(this.Hours,10); else finalHour = this.Hours; } } 否则if(TimeMode == 24) { 如果(this.Hours< 10) finalHour =0+ parseInt(this.Hours,10); else finalHour = this.Hours; } 返回finalHour; } Calendar.prototype.getShowHour = getShowHour; 函数GetMonthName(IsLong) { var Month = MonthName [this.Month]; 如果(IsLong) 返回月份; 其他 返回Month.substr(0,3); } Calendar.prototype.GetMonthName = GetMonthName; 函数GetMonDays()//获取天数一个月 { var DaysInMonth = [31,28,31,30,31,30,31,31,30,31,30,31]; if(this.IsLeapYear()) { DaysInMonth [1] = 29; } 返回DaysInMonth [this.Month]; } Calendar.prototype.GetMonDays = GetMonDays; 函数IsLeapYear() { if((this.Year%4)== 0) { if((this.Year% 100) == 0)&&(this.Year%400)!= 0) { 返回false; } 其他 { 返回true; } } 其他 { 返回false; } } Calendar.prototype.IsLeapYear = IsLeapYear; 函数FormatDate(pDate) { if(pDate< 10) pDate =0+ pDate; var mon = this.Month + 1; if(mon< 10) mon =0+ mon; if(this.Format.toUpperCase()==DDMMYYYY) return(pDate + DateSeparator +(mon)+ DateSeparator + this.Year); else if(this.Format.toUpperCase()==DDMMMYYYY) return(pDate + DateSeparator + this.GetMonthName(false)+ DateSeparator + this.Year); else if(this.Format.toUpperCase()==MMDDYYYY) return((mon)+ DateSeparator + pDate + DateSeparator + this.Year); else if(this.Format.toUpperCase()==MMMDDYYYY) return(this.GetMonthName(false)+ DateSeparator + pDate + DateSeparator + this.Year); } Calendar.prototype.FormatDate = FormatDate;//Global variablesvar winCal;var dtToday=new Date();var Cal;var docCal;var MonthName=["January", "February", "March", "April", "May", "June","July","August", "September", "October", "November", "December"];var WeekDayName=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var exDateTime;//Existing Date and Time//Configurable parametersvar cnTop="200";//top coordinate of calendar window.var cnLeft="500";//left coordinate of calendar windowvar WindowTitle ="DateTime Picker";//Date Time Picker title.var WeekChar=2;//number of character for week day. if 2 then Mo,Tu,We. if 3 then Mon,Tue,Wed.var CellWidth=20;//Width of day cell.var DateSeparator="/";//Date Separator, you can change it to "/" if you want.var TimeMode=24;//default TimeMode value. 12 or 24var ShowLongMonth=true;//Show long month name in Calendar header. example: "January".var ShowMonthYear=true;//Show Month and Year in Calendar header.var MonthYearColor="#cc0033";//Font Color of Month and Year in Calendar header.var WeekHeadColor="#0099CC";//Background Color in Week header.var SundayColor="#6699FF";//Background color of Sunday.var SaturdayColor="#CCCCFF";//Background color of Saturday.var WeekDayColor="white";//Background color of weekdays.var FontColor="blue";//color of font in Calendar day cell.var TodayColor="#FFFF33";//Background color of today.var SelDateColor="#FFFF99";//Backgrond color of selected date in textbox.var YrSelColor="#cc0033";//color of font of Year selector.var ThemeBg="";//Background image of Calendar window.//end Configurable parameters//end Global variablefunction NewCal(pCtrl,pFormat,pShowTime,pTimeMode){Cal=new Calendar(dtToday);if ((pShowTime!=null) && (pShowTime)){Cal.ShowTime=true;if ((pTimeMode!=null) &&((pTimeMode=='12')||(pTimeMode=='24'))){TimeMode=pTimeMode;}}if (pCtrl!=null)Cal.Ctrl=pCtrl;if (pFormat!=null)Cal.Format=pFormat.toUpperCase();exDateTime=document.getElementById(pCtrl).value;if (exDateTime!="")//Parse Date String{var Sp1;//Index of Date Separator 1var Sp2;//Index of Date Separator 2var tSp1;//Index of Time Separator 1var tSp1;//Index of Time Separator 2var strMonth;var strDate;var strYear;var intMonth;var YearPattern;var strHour;var strMinute;var strSecond;//parse monthSp1=exDateTime.indexOf(DateSeparator,0)Sp2=exDateTime.indexOf(DateSeparator,(parseInt(Sp1)+1));if ((Cal.Format.toUpperCase()=="DDMMYYYY") || (Cal.Format.toUpperCase()=="DDMMMYYYY")){strMonth=exDateTime.substring(Sp1+1,Sp2);strDate=exDateTime.substring(0,Sp1);}else if ((Cal.Format.toUpperCase()=="MMDDYYYY") || (Cal.Format.toUpperCase()=="MMMDDYYYY")){strMonth=exDateTime.substring(0,Sp1);strDate=exDateTime.substring(Sp1+1,Sp2);}if (isNaN(strMonth))intMonth=Cal.GetMonthIndex(strMonth);elseintMonth=parseInt(strMonth,10)-1;if ((parseInt(intMonth,10)>=0) && (parseInt(intMonth,10)<12))Cal.Month=intMonth;//end parse month//parse Dateif ((parseInt(strDate,10)<=Cal.GetMonDays()) && (parseInt(strDate,10)>=1))Cal.Date=strDate;//end parse Date//parse yearstrYear=exDateTime.substring(Sp2+1,Sp2+5);YearPattern=/^\d{4}$/;if (YearPattern.test(strYear))Cal.Year=parseInt(strYear,10);//end parse year//parse timeif (Cal.ShowTime==true){tSp1=exDateTime.indexOf(":",0)tSp2=exDateTime.indexOf(":",(parseInt(tSp1)+1));strHour=exDateTime.substring(tSp1,(tSp1)-2);Cal.SetHour(strHour);strMinute=exDateTime.substring(tSp1+1,tSp2);Cal.SetMinute(strMinute);strSecond=exDateTime.substring(tSp2+1,tSp2+3);Cal.SetSecond(strSecond);}}winCal=window.open("","DateTimePicker","toolbar=0,status=0,menubar=0,fullscreen=no,width=195,height=245,resizable=0,top="+cnTop+",left="+cnLeft);docCal=winCal.document;RenderCal();}function RenderCal(){var vCalHeader;var vCalData;var vCalTime;var i;var j;var SelectStr;var vDayCount=0;var vFirstDay;docCal.open();docCal.writeln("<html><head><title>"+WindowTitle+"</title>");docCal.writeln("<script>var winMain=window.opener;</script>");docCal.writeln("</head><body background='"+ThemeBg+"' link="+FontColor+" vlink="+FontColor+"><form name='Calendar'>");vCalHeader="\n";//Month SelectorvCalHeader+="\n\n";vCalHeader+="";//Calendar header shows Month and Yearif (ShowMonthYear)vCalHeader+="\n";//Week day headervCalHeader+="";for (i=0;i<7;i++){vCalHeader+="";}vCalHeader+="";docCal.write(vCalHeader);//Calendar detailCalDate=new Date(Cal.Year,Cal.Month);CalDate.setDate(1);vFirstDay=CalDate.getDay();vCalData="";for (i=0;i<vfirstday;i++)>{vCalData=vCalData+GenCell();vDayCount=vDayCount+1;}for (j=1;j<=Cal.GetMonDays();j++){var strCell;vDayCount=vDayCount+1;if ((j==dtToday.getDate())&&(Cal.Month==dtToday.getMonth())&&(Cal.Year==dtToday.getFullYear()))strCell=GenCell(j,true,TodayColor);//Highlight today's dateelse{if (j==Cal.Date){strCell=GenCell(j,true,SelDateColor);}else{if (vDayCount%7==0)strCell=GenCell(j,false,SaturdayColor);else if ((vDayCount+6)%7==0)strCell=GenCell(j,false,SundayColor);elsestrCell=GenCell(j,null,WeekDayColor);}}vCalData=vCalData+strCell;if((vDayCount%7==0)&&(j<cal.getmondays()))>{vCalData=vCalData+"\n";}}docCal.writeln(vCalData);//Time pickerif (Cal.ShowTime){var showHour;showHour=Cal.getShowHour();vCalTime="\n\n";docCal.write(vCalTime);}//end time pickerdocCal.writeln("\n";//Year selectorvCalHeader+="\n\n";vCalHeader+="<select name=\"MonthSelector\" onChange=\"javascript:winMain.Cal.SwitchMth(this.selectedIndex);winMain.RenderCal();\">\n";for (i=0;i<12;i++){if (i==Cal.Month)SelectStr="Selected";elseSelectStr="";vCalHeader+="<option "+SelectStr+" value >"+MonthName[i]+"\n";}vCalHeader+="</select><</font> "+Cal.Year+" >"+Cal.GetMonthName(ShowLongMonth)+" "+Cal.Year+""+WeekDayName[i].substr(0,WeekChar)+"";vCalTime+="<input type='text' name='hour' maxlength=2 size=1 style=\"WIDTH: 22px\" value="+showHour+" onchange=\"javascript:winMain.Cal.SetHour(this.value)\">";vCalTime+=" : ";vCalTime+="<input type='text' name='minute' maxlength=2 size=1 style=\"WIDTH: 22px\" value="+Cal.Minutes+" onchange=\"javascript:winMain.Cal.SetMinute(this.value)\">";vCalTime+=" : ";vCalTime+="<input type='text' name='second' maxlength=2 size=1 style=\"WIDTH: 22px\" value="+Cal.Seconds+" onchange=\"javascript:winMain.Cal.SetSecond(this.value)\">";if (TimeMode==12){var SelectAm =(parseInt(Cal.Hours,10)<12)? "Selected":"";var SelectPm =(parseInt(Cal.Hours,10)>=12)? "Selected":"";vCalTime+="<select name=\"ampm\" onchange=\"javascript:winMain.Cal.SetAmPm(this.options[this.selectedIndex].value);\">";vCalTime+="<option "+SelectAm+" value=\"AM\">AM</option>";vCalTime+="<option "+SelectPm+" value=\"PM\">PM<option>";vCalTime+="</select>";}vCalTime+="\n");docCal.writeln("</form></body></html>");docCal.close();}function GenCell(pValue,pHighLight,pColor)//Generate table cell with value{var PValue;var PCellStr;var vColor;var vHLstr1;//HighLight stringvar vHlstr2;var vTimeStr;if (pValue==null)PValue="";elsePValue=pValue;if (pColor!=null)vColor="bgcolor=\""+pColor+"\"";elsevColor="";if ((pHighLight!=null)&&(pHighLight)){vHLstr1="color='red'>";vHLstr2="";}else{vHLstr1=">";vHLstr2="";}if (Cal.ShowTime){vTimeStr="winMain.document.getElementById('"+Cal.Ctrl+"').value+=' '+"+"winMain.Cal.getShowHour()"+"+':'+"+"winMain.Cal.Minutes"+"+':'+"+"winMain.Cal.Seconds";if (TimeMode==12)vTimeStr+="+' '+winMain.Cal.AMorPM";}elsevTimeStr="";PCellStr=""+PValue+""+vHLstr2+"";return PCellStr;}function Calendar(pDate,pCtrl){//Propertiesthis.Date=pDate.getDate();//selected datethis.Month=pDate.getMonth();//selected month numberthis.Year=pDate.getFullYear();//selected year in 4 digitsthis.Hours=pDate.getHours();if (pDate.getMinutes()<10)this.Minutes="0"+pDate.getMinutes();elsethis.Minutes=pDate.getMinutes();if (pDate.getSeconds()<10)this.Seconds="0"+pDate.getSeconds();elsethis.Seconds=pDate.getSeconds();this.MyWindow=winCal;this.Ctrl=pCtrl;this.Format="ddMMyyyy";this.Separator=DateSeparator;this.ShowTime=false;if (pDate.getHours()<12)this.AMorPM="AM";elsethis.AMorPM="PM";}function GetMonthIndex(shortMonthName){for (i=0;i<12;i++){if (MonthName[i].substring(0,3).toUpperCase()==shortMonthName.toUpperCase()){return i;}}}Calendar.prototype.GetMonthIndex=GetMonthIndex;function IncYear(){Cal.Year++;}Calendar.prototype.IncYear=IncYear;function DecYear(){Cal.Year--;}Calendar.prototype.DecYear=DecYear;function SwitchMth(intMth){Cal.Month=intMth;}Calendar.prototype.SwitchMth=SwitchMth;function SetHour(intHour){var MaxHour;var MinHour;if (TimeMode==24){MaxHour=23;MinHour=0}else if (TimeMode==12){MaxHour=12;MinHour=1}elsealert("TimeMode can only be 12 or 24");var HourExp=new RegExp("^\\d\\d$");if (HourExp.test(intHour) && (parseInt(intHour,10)<=MaxHour) && (parseInt(intHour,10)>=MinHour)){if ((TimeMode==12) && (Cal.AMorPM=="PM")){if (parseInt(intHour,10)==12)Cal.Hours=12;elseCal.Hours=parseInt(intHour,10)+12;}else if ((TimeMode==12) && (Cal.AMorPM=="AM")){if (intHour==12)intHour-=12;Cal.Hours=parseInt(intHour,10);}else if (TimeMode==24)Cal.Hours=parseInt(intHour,10);}}Calendar.prototype.SetHour=SetHour;function SetMinute(intMin){var MinExp=new RegExp("^\\d\\d$");if (MinExp.test(intMin) && (intMin<60))Cal.Minutes=intMin;}Calendar.prototype.SetMinute=SetMinute;function SetSecond(intSec){var SecExp=new RegExp("^\\d\\d$");if (SecExp.test(intSec) && (intSec<60))Cal.Seconds=intSec;}Calendar.prototype.SetSecond=SetSecond;function SetAmPm(pvalue){this.AMorPM=pvalue;if (pvalue=="PM"){this.Hours=(parseInt(this.Hours,10))+12;if (this.Hours==24)this.Hours=12;}else if (pvalue=="AM")this.Hours-=12;}Calendar.prototype.SetAmPm=SetAmPm;function getShowHour(){var finalHour; if (TimeMode==12) { if (parseInt(this.Hours,10)==0){this.AMorPM="AM";finalHour=parseInt(this.Hours,10)+12;}else if (parseInt(this.Hours,10)==12){this.AMorPM="PM";finalHour=12;}else if (this.Hours>12){this.AMorPM="PM";if ((this.Hours-12)<10)finalHour="0"+((parseInt(this.Hours,10))-12);elsefinalHour=parseInt(this.Hours,10)-12;}else{this.AMorPM="AM";if (this.Hours<10)finalHour="0"+parseInt(this.Hours,10);elsefinalHour=this.Hours;}}else if (TimeMode==24){if (this.Hours<10)finalHour="0"+parseInt(this.Hours,10);elsefinalHour=this.Hours;}return finalHour;}Calendar.prototype.getShowHour=getShowHour;function GetMonthName(IsLong){var Month=MonthName[this.Month];if (IsLong)return Month;elsereturn Month.substr(0,3);}Calendar.prototype.GetMonthName=GetMonthName;function GetMonDays()//Get number of days in a month{var DaysInMonth=[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];if (this.IsLeapYear()){DaysInMonth[1]=29;}return DaysInMonth[this.Month];}Calendar.prototype.GetMonDays=GetMonDays;function IsLeapYear(){if ((this.Year%4)==0){if ((this.Year%100==0) && (this.Year%400)!=0){return false;}else{return true;}}else{return false;}}Calendar.prototype.IsLeapYear=IsLeapYear;function FormatDate(pDate){if(pDate<10)pDate="0"+pDate;var mon = this.Month+1;if(mon<10)mon="0"+mon;if (this.Format.toUpperCase()=="DDMMYYYY")return (pDate+DateSeparator+(mon)+DateSeparator+this.Year);else if (this.Format.toUpperCase()=="DDMMMYYYY")return (pDate+DateSeparator+this.GetMonthName(false)+DateSeparator+this.Year);else if (this.Format.toUpperCase()=="MMDDYYYY")return ((mon)+DateSeparator+pDate+DateSeparator+this.Year);else if (this.Format.toUpperCase()=="MMMDDYYYY")return (this.GetMonthName(false)+DateSeparator+pDate+DateSeparator+this.Year);}Calendar.prototype.FormatDate=FormatDate;推荐答案 这篇关于日期选择器在Internet Explorer 11中不起作用.javascript用于日期选择器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云! 07-31 08:31