给你份资料研究一下,看看就知道怎么做了 <html> <head> <script language="JavaScript"> <!-- var lastIndex=0;//记录最后选择的标志 var gYear = -1; var gMonth = -1;function initDlt(index){ lastIndex=index; var arrJidu=["第一季度","第二季度","第三季度","第四季度"]; var arrXun=["上旬","中旬","下旬"]; switch(index){ case 1: initDltByArea(2000,2050); break; case 2: initDltByArray(arrJidu); break; case 3: initDltByArea(1,12); break; case 4: initDltByArray(arrXun); break; case 5: initDltByArea(1,52); break; default: break; } }function initDltByArea(min,max){ var dlt=document.getElementById("dltChoose"); dlt.innerHTML=""; for(var i=min,I=max+1;i<I;i++){ var opt= document.createElement("OPTION"); opt.value=i; opt.text=i; dlt.add(opt); } dlt.value=""; dlt.focus(); }function initDltByArray(arr){ var dlt=document.getElementById("dltChoose"); dlt.innerHTML=""; var len=arr.length; for (var i=0; i<len; i++){ var opt= document.createElement("OPTION"); opt.value=i; opt.text=arr[i]; dlt.add(opt); } dlt.value=""; dlt.focus(); }function doDltChg(objDlt){ var index=lastIndex; var btns=document.getElementsByName("btn"); switch(index){ case 1: btns[1].disabled=false; btns[2].disabled=false; btns[4].disabled=false; break; case 3: btns[3].disabled=false; break; case 2: case 5: btns[3].disabled=true; break; default: break; } switch(index){ case 1: yearChange(objDlt); break; case 2: jiduChange(objDlt); break; case 3: monthChange(objDlt); break; case 4: xunChange(objDlt); break; case 5: weekChange(objDlt); break; default: break; } }function yearChange(objDlt){ gYear=objDlt.value; var d1 = new Date(gYear,0,1); var d2 = new Date(gYear,11,31,23,59,59,999); outResult(d1,d2); }function jiduChange(objDlt){ if(gYear == 0){ alert("请先选择年!"); return false; } var year=gYear; var minMon=(objDlt.value*3); var maxMon=(objDlt.value*3)+2; var endDayOfMonth=CalDays(year,maxMon+1); var d1 = new Date(year,minMon,1); var d2 = new Date(year,maxMon,endDayOfMonth,23,59,59,999); outResult(d1,d2); }function monthChange(objDlt){ if(gYear < 0){ alert("请先选择年!"); return false; } gMonth=objDlt.value-1; var year=gYear; var endDayOfMonth=CalDays(year,gMonth+1); var d1 = new Date(year,gMonth,1); var d2 = new Date(year,gMonth,endDayOfMonth,23,59,59,999); outResult(d1,d2); }function xunChange(objDlt){ if(gYear < 0){ alert("请先选择年!"); return false; } if(gMonth < 0){ alert("请先选择月!"); return false; } var year=gYear; var month=gMonth; var val=objDlt.value; var beginDayOfMonth=val*10+1; var endDayOfMonth = (val==2?CalDays(year,month+1):(val*10+10)); var d1 = new Date(year,month,beginDayOfMonth); var d2 = new Date(year,month,endDayOfMonth,23,59,59,999); outResult(d1,d2); }function weekChange(objDlt){ if(gYear < 0){ alert("请先选择年!"); return false; } var year=gYear; var resultFun = calAreaByYearWeek(year,objDlt.value);
var d1=resultFun.getDateBegin(); var d2=resultFun.getDateEnd(); //var d1 = new Date(year,gMonth,1); //var d2 = new Date(year,month,endDayOfMonth,23,59,59,999); outResult(d1,d2);}function outResult(date1,date2){ var txtBegin=document.getElementById("dateBegin"); var txtEnd=document.getElementById("dateEnd"); txtBegin.value=mkStringFromDate(date1); txtEnd.value=mkStringFromDate(date2);}function mkStringFromDate(date){ var mil = format1(date.getMilliseconds()); return format(date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+":"+date.getSeconds())+"."+mil; }function format(str){ return str.replace(/(\D)(\d)(?=\D|$)/g, "$10$2"); }function format1(num){ if(num<10) return "00"+num; else if(num<100) return "0"+num; else return num.toString(); }function CalDays(year,mon){ var date= new Date(year,mon,0); return date.getDate();} /*功能:根据年份和周数返回该周的起始日期和结束日期 *名称: *参数: year:年份 numWeek:第几周 *返回值:doubleDate对象 */ function calAreaByYearWeek(year,numWeek){ var date = new Date(year,0,1); var ww = (7-date.getDay())%7;//计算第一周前的天数 var date = date.valueOf(); var dateBegin = date+((numWeek-1)*7+ww)*24*3600*1000; var dateEnd = dateBegin+7*24*3600*1000-1; dateBegin = new Date(dateBegin); dateEnd = new Date(dateEnd); var dd= new doubleDate(); dd.setDateBegin(dateBegin); dd.setDateEnd(dateEnd); return dd; } function doubleDate(){ this.dateBegin=null; this.dateEnd=null; this.getDateBegin=function (){ return this.dateBegin; }; this.getDateEnd=function (){ return this.dateEnd; }; this.setDateBegin=function (date){ this.dateBegin=date; }; this.setDateEnd=function (date){ this.dateEnd=date; }; } //--> </script> </head> <body> <table style="width:600;border-collapse :collapse" cellpadding=0 cellspacing=0 border=1> <tr height="30"> <td colspan=2 align="center"> <input type="button" name="btn" value="年" style="width:40" onclick="initDlt(1);"> <input type="button" name="btn" value="季" disabled style="width:40" onclick="initDlt(2);"> <input type="button" name="btn" value="月" disabled style="width:40" onclick="initDlt(3);"> <input type="button" name="btn" value="旬" disabled style="width:40" onclick="initDlt(4);"> <input type="button" name="btn" value="周" disabled style="width:40" onclick="initDlt(5);"> </td> <td></td> </tr> <tr height="30"> <td colspan=2 align="center"> <select id="dltChoose" onchange="doDltChg(this)"></select> </td> </tr> <tr height="30"> <td width="50%"><input type="text" id="dateBegin" style="width:100%;readonly:true" value="00-00-00 00:00:00.000"></td> <td width="50%"><input type="text" id="dateEnd" style="width:100%;readonly:true" value="00-00-00 00:00:00.000"></td> </tr> </table> </body> </html>
<input type="textbox" onchange="fill(this,'end')"><script language="javascript">
function fill(obj,type){
if(type=='start') obj.value += ":01:01";
else obj.value += ":12:31";
}
</script>其他条件自己加上
<html>
<head>
<script language="JavaScript">
<!--
var lastIndex=0;//记录最后选择的标志
var gYear = -1;
var gMonth = -1;function initDlt(index){
lastIndex=index; var arrJidu=["第一季度","第二季度","第三季度","第四季度"];
var arrXun=["上旬","中旬","下旬"]; switch(index){
case 1: initDltByArea(2000,2050); break;
case 2: initDltByArray(arrJidu); break;
case 3: initDltByArea(1,12); break;
case 4: initDltByArray(arrXun); break;
case 5: initDltByArea(1,52); break;
default: break;
}
}function initDltByArea(min,max){
var dlt=document.getElementById("dltChoose");
dlt.innerHTML="";
for(var i=min,I=max+1;i<I;i++){
var opt= document.createElement("OPTION");
opt.value=i;
opt.text=i;
dlt.add(opt);
}
dlt.value="";
dlt.focus();
}function initDltByArray(arr){
var dlt=document.getElementById("dltChoose");
dlt.innerHTML="";
var len=arr.length;
for (var i=0; i<len; i++){
var opt= document.createElement("OPTION");
opt.value=i;
opt.text=arr[i];
dlt.add(opt);
}
dlt.value="";
dlt.focus();
}function doDltChg(objDlt){
var index=lastIndex;
var btns=document.getElementsByName("btn"); switch(index){
case 1:
btns[1].disabled=false;
btns[2].disabled=false;
btns[4].disabled=false;
break;
case 3:
btns[3].disabled=false;
break; case 2:
case 5:
btns[3].disabled=true;
break;
default: break;
} switch(index){
case 1: yearChange(objDlt); break;
case 2: jiduChange(objDlt); break;
case 3: monthChange(objDlt); break;
case 4: xunChange(objDlt); break;
case 5: weekChange(objDlt); break;
default: break;
}
}function yearChange(objDlt){
gYear=objDlt.value;
var d1 = new Date(gYear,0,1);
var d2 = new Date(gYear,11,31,23,59,59,999);
outResult(d1,d2);
}function jiduChange(objDlt){
if(gYear == 0){
alert("请先选择年!");
return false;
}
var year=gYear;
var minMon=(objDlt.value*3);
var maxMon=(objDlt.value*3)+2;
var endDayOfMonth=CalDays(year,maxMon+1); var d1 = new Date(year,minMon,1);
var d2 = new Date(year,maxMon,endDayOfMonth,23,59,59,999);
outResult(d1,d2);
}function monthChange(objDlt){
if(gYear < 0){
alert("请先选择年!");
return false;
}
gMonth=objDlt.value-1;
var year=gYear;
var endDayOfMonth=CalDays(year,gMonth+1); var d1 = new Date(year,gMonth,1);
var d2 = new Date(year,gMonth,endDayOfMonth,23,59,59,999);
outResult(d1,d2);
}function xunChange(objDlt){
if(gYear < 0){
alert("请先选择年!");
return false;
}
if(gMonth < 0){
alert("请先选择月!");
return false;
}
var year=gYear;
var month=gMonth;
var val=objDlt.value;
var beginDayOfMonth=val*10+1;
var endDayOfMonth = (val==2?CalDays(year,month+1):(val*10+10)); var d1 = new Date(year,month,beginDayOfMonth);
var d2 = new Date(year,month,endDayOfMonth,23,59,59,999);
outResult(d1,d2);
}function weekChange(objDlt){
if(gYear < 0){
alert("请先选择年!");
return false;
}
var year=gYear;
var resultFun = calAreaByYearWeek(year,objDlt.value);
var d1=resultFun.getDateBegin();
var d2=resultFun.getDateEnd();
//var d1 = new Date(year,gMonth,1);
//var d2 = new Date(year,month,endDayOfMonth,23,59,59,999);
outResult(d1,d2);}function outResult(date1,date2){
var txtBegin=document.getElementById("dateBegin");
var txtEnd=document.getElementById("dateEnd");
txtBegin.value=mkStringFromDate(date1);
txtEnd.value=mkStringFromDate(date2);}function mkStringFromDate(date){
var mil = format1(date.getMilliseconds());
return format(date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+":"+date.getSeconds())+"."+mil;
}function format(str){
return str.replace(/(\D)(\d)(?=\D|$)/g, "$10$2");
}function format1(num){
if(num<10) return "00"+num;
else if(num<100) return "0"+num;
else return num.toString();
}function CalDays(year,mon){
var date= new Date(year,mon,0);
return date.getDate();}
/*功能:根据年份和周数返回该周的起始日期和结束日期
*名称:
*参数:
year:年份
numWeek:第几周
*返回值:doubleDate对象
*/
function calAreaByYearWeek(year,numWeek){
var date = new Date(year,0,1);
var ww = (7-date.getDay())%7;//计算第一周前的天数
var date = date.valueOf();
var dateBegin = date+((numWeek-1)*7+ww)*24*3600*1000;
var dateEnd = dateBegin+7*24*3600*1000-1;
dateBegin = new Date(dateBegin);
dateEnd = new Date(dateEnd);
var dd= new doubleDate();
dd.setDateBegin(dateBegin);
dd.setDateEnd(dateEnd);
return dd;
}
function doubleDate(){
this.dateBegin=null;
this.dateEnd=null;
this.getDateBegin=function (){
return this.dateBegin;
};
this.getDateEnd=function (){
return this.dateEnd;
};
this.setDateBegin=function (date){
this.dateBegin=date;
};
this.setDateEnd=function (date){
this.dateEnd=date;
};
}
//-->
</script>
</head>
<body>
<table style="width:600;border-collapse :collapse" cellpadding=0 cellspacing=0 border=1>
<tr height="30">
<td colspan=2 align="center">
<input type="button" name="btn" value="年" style="width:40" onclick="initDlt(1);">
<input type="button" name="btn" value="季" disabled style="width:40" onclick="initDlt(2);">
<input type="button" name="btn" value="月" disabled style="width:40" onclick="initDlt(3);">
<input type="button" name="btn" value="旬" disabled style="width:40" onclick="initDlt(4);">
<input type="button" name="btn" value="周" disabled style="width:40" onclick="initDlt(5);">
</td>
<td></td>
</tr>
<tr height="30">
<td colspan=2 align="center">
<select id="dltChoose" onchange="doDltChg(this)"></select>
</td>
</tr>
<tr height="30">
<td width="50%"><input type="text" id="dateBegin" style="width:100%;readonly:true" value="00-00-00 00:00:00.000"></td>
<td width="50%"><input type="text" id="dateEnd" style="width:100%;readonly:true" value="00-00-00 00:00:00.000"></td>
</tr>
</table>
</body>
</html>