就是当用户选择了一个 月份 后,在另外一个选择 day的 下拉列表框中 会出现这个月对应的天数,说白了就是算每个月有多少天,我看到了这样一段代码,但是不知道怎么用,贴出来给大家看看
function get_month(dt)
get_month=datediff("d",dateadd("m",-1,dateadd("m",1,dt)),dateadd("m",1,dt))
end function
...全文
42511打赏收藏
asp判断月份
就是当用户选择了一个 月份 后,在另外一个选择 day的 下拉列表框中 会出现这个月对应的天数,说白了就是算每个月有多少天,我看到了这样一段代码,但是不知道怎么用,贴出来给大家看看 function get_month(dt) get_month=datediff("d",dateadd("m",-1,dateadd("m",1,dt)),dateadd("m",1,dt)) end function
<script language="JavaScript">
function initDate() {
var nn=new Date();
var obj=document.all['form1'];
var y=obj.year;
var m=obj.month;
var d=obj.date;
for (var i=1900;i<2030;i++) {
y.options.length=y.options.length+1;
y.options[y.options.length-1].text=y[y.options.length-1].value=i;
}
y.value=nn.getYear();
for (var i=0;i<12;i++) {
m.options.length=i+1;
m[i].value=i+1;
if (i<9) {
m.options[i].text="0"+(i+1);
} else {
m.options[i].text=i+1;
}
}
m.value=nn.getMonth()+1;
for (var i=0;i<30;i++) {
d.options.length=i+1;
d[i].value=i+1;
if (i<9) {
d.options[i].text="0"+(i+1);
} else {
d.options[i].text=i+1;
}
}
d.value=nn.getDate();
}
function setDate(obj) {
var y=obj.year.value;
var m=obj.month.value;
var d=obj.date;
var arrd=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
if (y%4==0) arrd[1]=29;
var md=arrd[m-1];
if (d.options.length>md) {
var index=d.value;
d.options.length=md;
if (index<md) {
d.value=index;
} else {
d.value=md;
}
}
if (d.options.length<md) {
for (var i=d.options.length;i<md;i++) {
d.options.length=d.options.length+1;
d[i].value=d.options[i].text=i+1;
}
}
}
</script>
用我的方法取得的就是正确的月份呀
y = parseInt(document.formname.selectyear.options[document.formname.selectyear.selectedIndex].value);
m = parseInt(document.formname.selectmonth.options[document.formname.selectmonth.selectedIndex].value)-1;
dt = new Date(y, m, 1); //取本月的1日
dtn = new Date(y, m+1, 1); //取下月的1日
days = (dtn.getTime() - dt.getTime()) / (24*60*60*1000); //相减取得本月的天数
//第三个select根据days自动产生
s = "<select>"
for(i=1;i<=days;i++) s += "<option value='" + i + "'>" + i + "</option>"
s+="</select>"
document.getElementById("div_id").innerHTML = s;