如:2015年4月
星期日 星期一 星期二 星期三 星期四 星期五 星期六
1 2 3 4
。。。。。。。。。。。。。
http://bbs.csdn.net/topics/370043525
主要是日期和星期的对应关系不好找吗?可以把电脑的日期设置成输入的月份的第一天,再取这一天的时间,时间结构里就有星期,再一天一天往后数。
说实话我是在小说里看到的这个方法。。。
<input type="text" onblur="renderCalendar(this.value)"/>
<div id="dv"></div>
<script>
function renderCalendar(v){
if(/^\d{4}-\d{1,2}$/.test(v)){
var d=new Date(v.replace(/-/,'/')+'/1'),s='<table border="1"><tr><td>星期日</td><td> 星期一</td><td>星期二</td><td>星期三 </td><td>星期
四</td><td>星期五 </td><td>星期六</td></tr>',m=d.getMonth(),nextm=m==11?1:m+1,nowm;
var day=d.getDay();
if(day!=0)d.setDate(d.getDate()-day);
s+='<tr>';
j=31+day;
for(var i=1;i<=j;i++){
nowm=d.getMonth();
if(nowm==nextm)break;
s+='<td>'+(nowm==m?(nowm+1)+'-'+d.getDate():' ')+'</td>';
d.setDate(d.getDate()+1);
if(i%7==0)s+='</tr><tr>';
}
day=d.getDay();
if(day!=0){
j=7-day;
for(var i=0;i<j;i++)s+='<td> </td>';
}
s+='</tr>';
document.getElementById('dv').innerHTML=s+'</table>';
}
}
</script>