首页 >web前端 >js教程 >js日历控件(可精确到分钟)_时间日期

js日历控件(可精确到分钟)_时间日期

WBOY
WBOY原创
2016-05-16 19:00:471170浏览
" str += "" str += "" str += "" str += "" str += "" str += "
" str += "" str += "" str += "" return str; } this.play = function() { this.timer = setInterval(this.name+".playback()",1000); } this.formatTime = function(sTime) { sTime = ("0"+sTime); return sTime.substr(sTime.length-2); } this.playback = function() { var objDate = new Date(); var arrDate = [objDate.getHours(),objDate.getMinutes(),objDate.getSeconds()]; var objMinute = document.getElementsByName(this.fName); for (var i=0;iradix||obj.value"; str += ""; str += ""; str += this.drawMonth(); str += ""; str += ""; str += this.drawYear(); str += ""; str += ""; str += ""; str += ""; str += "
"; str += ""; str += ""; str += ""; str += ""; str += "
"; str += this.drawDate(); str += "
"; str += ""; str += ""; str += ""; return str; } //private this.drawYear = function() { var str = ""; str += ""; str += ""; str += ""; str += ""; str += ""; str += "
"; str += ""; //DateField str += ""; str += ""; str += ""; str += ""; str += ""; str += ""; str += ""; str += ""; str += ""; str += "
"; str += "
"; return str; } //priavate this.drawMonth = function() { //alert(this.fName); var aMonthName = ["一","二","三","四","五","六","七","八","九","十","十一","十二"]; var str = ""; str += ""; return str; } //private this.drawDate = function() { var str = ""; var fDay = new Date(this.year,this.month,1).getDay(); var fDate = 1-fDay; var lDay = new Date(this.year,this.month+1,0).getDay(); var lDate = new Date(this.year,this.month+1,0).getDate(); str += ""; for (var i=1,j=fDate;i"; for (var k=0;k"+(isDate(j++))+""; } str += ""; } str += "
"; return str; function isDate(n) { return (n>=1&&nnew Date(this.year,this.month+1,0).getDate()) this.date = new Date(this.year,this.month+1,0).getDate(); document.getElementById(this.fName+"_dateTable").outerHTML = this.drawDate(); //alert(this.year); //alert(this.month); //alert(this.date); getDateTime(); } //public this.getDate = function(delimiter) { var s_month,s_date; s_month=this.month+1; s_date=this.date; s_month = ("0"+s_month); s_month=s_month.substr(s_month.length-2); s_date = ("0"+s_date); s_date=s_date.substr(s_date.length-2); if (!delimiter) delimiter = "-"; var aValue = [this.year,s_month,s_date]; return aValue.join(delimiter); } } function getDateTime(){ //alert(c.getDate()+' '+m.getTime()); gdCtrl.value = c.getDate()+' '+m.getTime(); } var gdCtrl = new Object(); function showCal(popCtrl){ gdCtrl = popCtrl; event.cancelBubble=true; //alert(popCtrl); var point = fGetXY(popCtrl); //alert(point.x); //var point = new Point(100,100); //alert(gdCtrl.value); var gdValue=gdCtrl.value; var i_year,i_month,i_day,i_hour,i_minute; if(gdCtrl.value!="" && validateDate1(gdCtrl.value,'yyyy-MM-dd HH:mm')){ i_year=gdValue.substr(0,4); if(gdValue.substr(5,1)=="0"){ i_month=parseInt(gdValue.substr(6,1)); }else{ i_month=parseInt(gdValue.substr(5,2)); } if(gdValue.substr(8,1)=="0"){ i_day=parseInt(gdValue.substr(9,1)); }else{ i_day=parseInt(gdValue.substr(8,2)); } i_hour1=gdValue.substr(11,2); i_minute=gdValue.substr(14,2); //alert(i_hour1+"aaa"); //alert(i_minute); document.getElementById(c.fName+"_year").value = i_year; document.getElementById(c.fName+"_month").value= i_month; //document.getElementById(c.fName+"_date").value = i_day; c.date=i_day; document.getElementsByName(m.fName)[0].value=i_hour1; document.getElementsByName(m.fName)[1].value=i_minute; c.redrawDate(); } //c.month= with (dateTime.style) { left = point.x; top = point.y+popCtrl.offsetHeight+1; width = dateTime.offsetWidth; height = dateTime.offsetHeight; //fToggleTags(point); visibility = 'visible'; } dateTime.focus(); } function Point(iX, iY){ this.x = iX; this.y = iY; } function validateDate1(date,format){ var time=date; if(time=="") return; var reg=format; var reg=reg.replace(/yyyy/,"[0-9]{4}"); var reg=reg.replace(/yy/,"[0-9]{2}"); var reg=reg.replace(/MM/,"((0[1-9])|1[0-2])"); var reg=reg.replace(/M/,"(([1-9])|1[0-2])"); var reg=reg.replace(/dd/,"((0[1-9])|([1-2][0-9])|30|31)"); var reg=reg.replace(/d/,"([1-9]|[1-2][0-9]|30|31))"); var reg=reg.replace(/HH/,"(([0-1][0-9])|20|21|22|23)"); var reg=reg.replace(/H/,"([0-9]|1[0-9]|20|21|22|23)"); var reg=reg.replace(/mm/,"([0-5][0-9])"); var reg=reg.replace(/m/,"([0-9]|([1-5][0-9]))"); var reg=reg.replace(/ss/,"([0-5][0-9])"); var reg=reg.replace(/s/,"([0-9]|([1-5][0-9]))"); reg=new RegExp("^"+reg+"$"); if(reg.test(time)==false){//验证格式是否合法 //alert(alt); //date.focus(); return false; } return true; } function fGetXY(aTag){ var oTmp=aTag; var pt = new Point(0,0); do { pt.x += oTmp.offsetLeft; pt.y += oTmp.offsetTop; oTmp = oTmp.offsetParent; } while(oTmp.tagName!="BODY"); return pt; } function hideCalendar(){ dateTime.style.visibility = "hidden"; /*for (i in goSelectTag) //????????,goSelectTag???? goSelectTag[i].style.visibility = "visible"; goSelectTag.length = 0;*/ } 点击弹出时间框:
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn