使用javascript写一个小的程序,通过年月来显示当月中的星期
2009-09-10 09:46
507 查看
<mce:script language="javascript" type="text/javascript"><!-- $(document).ready(function(){ showMonthLink(0,0) }); function showMonthLink(yea,mon) { var year,month,start,end,back_year,back_month; start=statform.startTime.value; end=statform.endTime.value; if(start!=""&&end==""){ var ss = start.split("-"); back_year=parseInt(ss[0]); back_month=parseInt(ss[1]); }else if(start==""&&end!=""){ var ss = end.split("-"); back_year=parseInt(ss[0]); back_month=parseInt(ss[1]); }else if(start==""&&end==""){ back_year=new Date().getyear(); back_month=new Date.getMonth()+1; }else if(start!=""&&end!=""){ var s1 = start.split("-"); var s2 = end.split("-"); if(parseInt(s1[0])==parseInt(s2[0])&&parseInt(s1[1])==parseInt(s2[1])){ back_year=parseInt(s1[0]); var b_s = s1[1].split("0"); if(b_s[0]>0){ back_month=parseInt(b_s[0]); }else{ back_month=parseInt(b_s[1]); } } } year = parseInt(yea); month = parseInt(mon); if(month==0||year==0) { var date = new Date(); year = new Date().getYear(); month = new Date().getMonth(); } var str="<table><tr><td>月份:</td>" var date = new Date(); if(year<date.getYear()){ var difference_year=year-date.getYear(); if(difference_year==0){ str=str+"<td><input type='button' onclick='showMonthLink("+date.getYear()+","+date.getMonth()+")' value='<<<'/></td>"; }else if(difference_year<-1){ str=str+"<td><input type='button' onclick='showMonthLink("+(parseInt(year)+1)+","+month+")' value='<<<' /></td>"; }else{ str=str+"<td><input type='button' onclick='showMonthLink("+date.getYear()+","+date.getMonth()+")' value='<<<'/></td>"; } } for(i=0;i<12;i++) { realMonth=month+1; if(month<=0) { month=month+12; year=year-1; if(year<0) { alert("错误!统计时间不能早于你设定的时间"); return ; } } if(year==back_year&&realMonth==back_month) { str=str+"<td class='td_poineter' onclick='return showWeeks("+year+","+month+")'><b>"+year+"年"+realMonth+"月</b></td>"; } else { str=str+"<td class='td_poineter' onclick='return showWeeks("+year+","+month+")'>"+year+"年"+realMonth+"月</td>"; } month=month-1; } str=str+"<td><input type='button' onclick='showMonthLink("+year+","+month+")' value='>>>'/></td></tr></table>"; document.getElementById("year_month").innerHTML =""; document.getElementById("year_month").innerHTML =str; } function showWeeks(yea,mon) { var year,month,str,start,end,back_year,back_month,back_day; start=statform.startTime.value; end=statform.endTime.value; str="<table><tr><td>星期:</td>"; year = parseInt(yea); month = parseInt(mon); if(start!=""&&end==""){ var ss = start.split("-"); back_year=parseInt(ss[0]); back_month=parseInt(ss[1]); back_day=parseInt(ss[2]); }else if(start==""&&end!=""){ var ss = end.split("-"); back_year=parseInt(ss[0]); back_month=parseInt(ss[1]); back_day=parseInt(ss[2]); }else if(start==""&&end==""){ back_year=new Date().getyear(); back_month=new Date.getMonth()+1; back_day=new Date.getDate(); }else if(start!=""&&end!=""){ var s1 = start.split("-"); var s2 = end.split("-"); if(parseInt(s1[0])==parseInt(s2[0])&&parseInt(s1[1])==parseInt(s2[1])){ back_year=parseInt(s1[0]); var b_s = s1[1].split("0"); if(b_s[0]>0){ back_month=parseInt(b_s[0]); }else{ back_month=parseInt(b_s[1]); } back_day=parseInt(s1[2]); } } var date = new Date(year,month,1); var day_of_week = date.getDay(); var day = date.getDate(); month =month+1; var weekBeginYear,weekEndYear,weekBeginMonth,weekEndMonth,weekBeginDay,weekEndDay; var a=day-day_of_week; if(a<=0) { if(month==2||month==4||month==6||month==9||month==11) { weekBeginDay=day-day_of_week+31; weekEndDay=day+6-day_of_week; weekBeginMonth=month-1; weekEndMonth=month; weekBeginYear=year; weekEndYear=year; }else if(month==1||month==5||month==7||month==8||month==10||month==12) { weekBeginDay=day-day_of_week+30; weekEndDay=day+6-day_of_week; weekBeginMonth=month-1; weekEndMonth=month; weekBeginYear=year; weekEndYear=year; if(weekBeginMonth<=0) { weekBeginMonth=weekBeginMonth+12; weekBeginYear=weekBeginYear-1; if(weekBeginYear<0) { alert("错误!"); } } }else { if(year%4==0&&year%400!=0 ||year%400==0) { weekBeginDay=day-day_of_week+29; weekEndDay=day+6-day_of_week; weekBeginMonth=month-1; weekEndMonth=month; weekBeginYear=year; weekEndYear=year; }else { weekBeginDay=day-day_of_week+28; weekEndDay=day+6-day_of_week; weekBeginMonth=month-1; weekEndMonth=month; weekBeginYear=year; weekEndYear=year; } } }else { if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) { weekBeginDay=day-day_of_week; weekEndDay = day+6-day_of_week; weekBeginMonth=month; weekEndMonth=month; weekBeginYear=year; weekEndYear=year; if(weekEndDay>31) { weekEndDay=weekEndDay-31; weekEndMonth=month+1; if(weekEndMonth>12) { weekEndMonth=weekEndMonth-12; weekEndYear=year-1; } } }else if(month==4||month==6||month==9||month==11) { weekBeginDay=day-day_of_week; weekEndDay = day+6-day_of_week; weekBeginMonth=month; weekEndMonth=month; weekBeginYear=year; weekEndYear=year; if(weekEndDay>30) { weekEndDay=weekEndDay-30; weekEndMonth=month+1; } }else { if(year%4==0&&year%400!=0 ||year%400==0) { weekBeginDay=day-day_of_week; weekEndDay = day+6-day_of_week; weekBeginMonth=month; weekEndMonth=month; weekBeginYear=year; weekEndYear=year; if(weekEndDay>29) { weekEndDay=weekEndDay-29; weekEndMonth=month+1; } }else { weekBeginDay=day-day_of_week; c= day+6-day_of_week; weekBeginMonth=month; weekEndMonth=month; weekBeginYear=year; weekEndYear=year; if(weekEndDay>28) { weekEndDay=weekEndDay-28; weekEndMonth=month+1; } } } } for(i=0;i<5;i++){ if(weekEndDay>31&&(weekEndMonth==1||weekEndMonth==3||weekEndMonth==5||weekEndMonth==7||weekEndMonth==8||weekEndMonth==10||weekEndMonth==12)){ weekEndMonth=weekEndMonth+1; weekEndDay=weekEndDay-31; if(weekEndMonth>12){ weekEndMonth=weekEndMonth-12 weekEndYear=weekEndYear+1; } }else if(weekEndDay>30&&(weekEndMonth==4||weekEndMonth==6||weekEndMonth==9||weekEndMonth==11)){ weekEndMonth=weekEndMonth+1; weekEndDay=weekEndDay-30; if(weekEndMonth>12){ weekEndMonth=weekEndMonth-12 weekEndYear=weekEndYear+1; } }else if(weekEndDay>29&&weekEndMonth==2&&(weekBeginYear%4==0&&weekBeginYear%400!=0 ||weekBeginYear%400==0)){ weekEndMonth=weekEndMonth+1; weekEndDay=weekEndDay-29; if(weekEndMonth>12){ weekEndMonth=weekEndMonth-12 weekEndYear=weekEndYear+1; } }else if(weekEndDay>28&&weekEndMonth==2&&!(weekBeginYear%4==0&&weekBeginYear%400!=0 ||weekBeginYear%400==0)){ weekEndMonth=weekEndMonth+1; weekEndDay=weekEndDay-28; if(weekEndMonth>12){ weekEndMonth=weekEndMonth-12 weekEndYear=weekEndYear+1; } } if((weekEndYear==back_year&&weekEndMonth==back_month&&weekEndDay==back_day)||(weekBeginYear==back_year&&weekBeginMonth==back_month&&weekBeginDay==back_day)){ str=str+"<td class='td_poineter' onclick=' write_time("+"/""+weekBeginYear+"-"+weekBeginMonth+"-"+weekBeginDay+"@"+weekEndYear+"-"+weekEndMonth+"-"+weekEndDay+"/")'><b>"+weekBeginMonth+"月"+weekBeginDay+"日--"+weekEndMonth+"月"+weekEndDay+"日</b></td>"; }else{ str=str+"<td class='td_poineter' onclick=' write_time("+"/""+weekBeginYear+"-"+weekBeginMonth+"-"+weekBeginDay+"@"+weekEndYear+"-"+weekEndMonth+"-"+weekEndDay+"/")'>"+weekBeginMonth+"月"+weekBeginDay+"日--"+weekEndMonth+"月"+weekEndDay+"日</td>"; } weekBeginYear=weekEndYear; weekBeginMonth=weekEndMonth; weekBeginDay=weekEndDay+1; weekEndDay=weekEndDay+7; } str=str+"</tr></table>"; document.getElementById("week_day").innerHTML =str; } function write_time(str) { var ss=str+""; var s=ss.split("@"); document.statform.startTime.value=s[0]; document.statform.endTime.value=s[1]; //document.statform.submit(); //document.getElementById("monthLink").innerHTML = s[0]; //document.getElementById("weekLink").innerHTML = s[1]; } // --></mce:script>
相关文章推荐
- 一个简单的用javascript实现的页面内容过滤显示小程序源码
- 今天写了一个通过switch进行添加,修过,显示,删除程序,发上来大家看看,哈哈,并且用了smarty模版
- WinCE C#程序,控制启动时仅仅能启动一个程序,使用相互排斥量来实现,该实现方法測试通过
- 简单的做了一个评分控件,其实还算不上控件,只是用javascript做了一个效果,可以直接放在你的程序中使用。
- 使用JavaScript完成一个对字符串数组进行排序的小程序
- 通过 JSP 直接往 JavaScript 程序中放数据。解答百度知道的一个问题。
- 使用JavaScript实现一个小程序之99乘法表
- 一个struts2小例子:使用 及javascript中显示变量值的问题
- 使用javascript做一个简单的抽奖程序
- [记录]使用openGL显示点云的一个程序
- JavaScript通过使用onerror设置默认图像显示代替alt
- 编写一个程序,要求用户输入最多10个高尔夫成绩,并将其存储在一个数组中。 程序允许用户提早结束输入,并在一行上显示所有成绩,然后报告平均成绩。 请使用3个数组处理函数来分别进行输入、显示和计算
- asp.net 读取一个文本文件,并输出到网页显示 通过 一般处理程序实现
- 创建一个程序读入和显示视频文件,并可以使用滑动条控制视频文件的播放。一个滑动条用来控制视频播放位置,以10为步长跳进。另一个滑动条用来控制停止/播放
- 问题:利用 C++的各种控制语句编写一个万年历程序。 要求:显示任何年份的日历,日历以月份顺序排列,每月以星期顺序排列,类似于一 般挂历上的格式。
- Linux下之使用简单3种创建文件的命令,并实现一个Html和JavaScript小程序
- 设计程序,单击【随机数】按钮,使用Math对象的random函数产生一个0-100之间(含0-100)的随机整数,并在对话框中显示,如下图。单击【计算】按钮,计算该随机数的平方、平方根和自然对数,保留两位小数,并在对话框中显示,如下图。
- 通过 JSP 直接往 JavaScript 程序中放数据。解答百度知道的一个问题。
- 使用javascript做一个简单的抽奖程序
- 将数据库中的数据通过 client 控件显示 (一个asp和javascript传参数的列子)