使用javascript写一个小的程序,通过年月来显示当月中的星期


$(document).ready(function(){
var start = statform.startTime.value;
var end = statform.endTime.value;
if(start!=""&&end!=""){
var s1 = start.split("-");
if(s1[1].indexOf("0")==0){
s1[1] = s1[1].replace("0","");
}
var _year = parseInt(s1[0]);
var _month = parseInt(s1[1]);
var year = new Date().getYear();
if(year<1900){
year = year + 1900;
}
if(year <=_year){
showMonthLink(year,new Date().getMonth());
}else{
showMonthLink(_year,11);
}
}else{
var date = new Date();
var year = date.getYear();
if(year<1900){
year = year + 1900;
}
var month = date.getMonth();
showMonthLink(year,month);
}
});


$(document).ready(function(){
var start=statform.startTime.value;
var end=statform.endTime.value;
if(start!=""&&end!=""){
var s1 = start.split("-");
if(s1[1].indexOf("0")==0){
s1[1] = s1[1].replace("0","");
}
if(s1[2].indexOf("0")==0){
s1[2] = s1[2].replace("0","");
}
var _year = parseInt(s1[0]);
var _month = parseInt(s1[1]);
var year = new Date().getYear();
var month = new Date().getMonth();
if(year == _year && _month-1 == month){
showWeeks(year,new Date().getMonth());
}else{
showWeeks(_year,_month-1);
}
}else{
var date = new Date();
var year = date.getYear();
if(year<1900){
year = year + 1900;
}
var month = date.getMonth();
showWeeks(year,month);
}
});

function showMonthLink(yea,mon)
{
var year,month,start,end,back_begin_year,back_begin_month,back_end_year,back_end_month,_b;
start=statform.startTime.value;
end=statform.endTime.value;
if(start!=""&&end!=""){
var s1 = start.split("-");
var s2 = end.split("-");
if(s1[1].indexOf("0")==0){
s1[1] = s1[1].replace("0","");
}
if(s1[2].indexOf("0")==0){
s1[2] = s1[2].replace("0","");
}
if(s2[1].indexOf("0")==0){
s2[1] = s2[1].replace("0","");
}
if(s2[2].indexOf("0")==0){
s2[2] = s2[2].replace("0","");
}
back_begin_year = parseInt(s1[0]);
back_begin_month = parseInt(s1[1]);
back_begin_day = parseInt(s1[2]);
back_end_year = parseInt(s2[0]);
back_end_month = parseInt(s2[1]);
back_end_day = parseInt(s2[2]);
}
year = parseInt(yea);
month = parseInt(mon);
if(month==0&&year==0||year==0)
{
var date = new Date();
year = new Date().getYear();
month = new Date().getMonth();
if(year<1900){
year = year + 1900;
}
}
var str="<table class='weeklink'><tr><td>月份:</td>"
var date = new Date();
_year = date.getYear();
if(_year<1900){
_year += 1900;
}
if(year<_year){
var difference_year=year-_year;
if(difference_year==0){
str=str+"<td><input type='button' onclick='showMonthLink("+_year+","+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("+_year+","+date.getMonth()+")' value='下一年'/></td>";
}

}
if(year<2006){
alert("查询时间不能早于您所设定的时间,必须晚于2005年");
return;
}
realMonth=month+1;
for(i=0;i<12;i++)
{
if(realMonth<=0)
{
realMonth=realMonth+12;
month = month+12;
year=year-1;
break;
if(year<0)
{
alert("错误!统计时间不能早于你设定的时间");
showMonthLink(year+1,11)
}
}
//if(i==2){

//}
if(year==back_begin_year&&realMonth==back_begin_month&&back_end_month<=realMonth+1)
{
str=str+"<td style='width: 50px;' class='td_poineter' onclick='return showWeeks("+year+","+month+")'><b>"+year+"."+realMonth+"</b></td>";
}
else
{
str=str+"<td style='width: 50px;' class='td_poineter' onclick='return showWeeks("+year+","+month+")'>"+year+"."+realMonth+"</td>";
}
realMonth=realMonth-1;
month=month-1;

}
if(month<0){
month = 11;
year = year-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,_year,month,str,start,end,back_begin_year,back_begin_month,back_begin_day,back_end_year,back_end_month,back_end_day;
start=statform.startTime.value;
end=statform.endTime.value;
str="<table class='weeklink'><tr><td>星期:</td>";
year = parseInt(yea);
month = parseInt(mon);
if(start!=""&&end!=""){
var s1 = start.split("-");
var s2 = end.split("-");
if(s1[1].indexOf("0")==0){
s1[1] = s1[1].replace("0","");
}
if(s1[2].indexOf("0")==0){
s1[2] = s1[2].replace("0","");
}
if(s2[1].indexOf("0")==0){
s2[1] = s2[1].replace("0","");
}
if(s2[2].indexOf("0")==0){
s2[2] = s2[2].replace("0","");
}
back_begin_year=parseInt(s1[0]);
back_begin_month=parseInt(s1[1]);
back_begin_day=parseInt(s1[2]);
back_end_year=parseInt(s2[0]);
back_end_month=parseInt(s2[1]);
back_end_day=parseInt(s2[2]);
}
var _year = new Date().getYear();
if(_year<1900){
_year = _year + 1900;
}
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==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(month==1)
{
weekBeginDay=day-day_of_week+31;
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;
weekEndDay = 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<6;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){
weekEndMonth=weekEndMonth+1;
weekEndDay=weekEndDay-28;
if(weekEndMonth>12){
weekEndMonth=weekEndMonth-12
weekEndYear=weekEndYear+1;
}
}
if(weekBeginDay>31&&(weekBeginMonth==1||weekBeginMonth==3||weekBeginMonth==5||weekBeginMonth==7||weekBeginMonth==8||weekBeginMonth==10||weekBeginMonth==12)){
weekBeginDay = weekBeginDay - 31;
weekBeginMonth = weekBeginMonth + 1;
if(weekBeginMonth>12){
weekBeginMonth=weekBeginMonth-12
weekBeginYear=weekBeginYear+1;
}
}else if(weekBeginDay>30&&(weekBeginMonth==4||weekBeginMonth==6||weekBeginMonth==9||weekBeginMonth==11)){
weekBeginDay = weekBeginDay - 30;
weekBeginMonth = weekBeginMonth + 1;
if(weekBeginMonth>12){
weekBeginMonth=weekBeginMonth-12
weekBeginYear=weekBeginYear+1;
}
}else if(weekBeginDay>29&&weekBeginMonth==2&&(weekBeginYear%4==0&&weekBeginYear%400!=0 ||weekBeginYear%400==0)){
weekBeginDay = weekBeginDay - 29;
weekBeginMonth = weekBeginMonth + 1;
if(weekBeginMonth>12){
weekBeginMonth=weekBeginMonth-12
weekBeginYear=weekBeginYear+1;
}
}else if(weekBeginDay>28&&weekBeginMonth==2){
weekBeginDay = weekBeginDay - 28;
weekBeginMonth = weekBeginMonth + 1;
if(weekBeginMonth>12){
weekBeginMonth=weekBeginMonth-12
weekBeginYear=weekBeginYear+1;
}
}
/*if(i==3){
alert(weekBeginYear+"!@#$%%"+back_begin_year+"!@#$%%"+weekEndYear+"!@#$%%"+back_end_year);
alert(weekBeginMonth+"!@#$%%"+back_begin_month+"!@#$%%"+weekEndYear+"!@#$%%"+back_end_year);
alert(weekBeginDay+"!@#$%%"+back_begin_day+"!@#$%%"+weekEndDay+"!@#$%%"+back_end_day);
}*/
if(weekBeginYear==_year&&weekEndYear==_year&&weekBeginMonth>(new Date().getMonth()+1)){
break;
}
if(weekBeginYear==back_begin_year&&weekBeginMonth==back_begin_month&&weekBeginDay==back_begin_day&&weekEndYear==back_end_year&&weekEndMonth==back_end_month&&weekEndDay==back_end_day){
str=str+"<td style='width: 80px;' class='td_poineter' onclick=' write_time("+"\""+weekBeginYear+"-"+weekBeginMonth+"-"+weekBeginDay+"@"+weekEndYear+"-"+weekEndMonth+"-"+weekEndDay+"\")'><b>"+weekBeginMonth+"."+weekBeginDay+"--"+weekEndMonth+"."+weekEndDay+"</b></td>";
}else{
str=str+"<td style='width: 80px;' class='td_poineter' onclick=' write_time("+"\""+weekBeginYear+"-"+weekBeginMonth+"-"+weekBeginDay+"@"+weekEndYear+"-"+weekEndMonth+"-"+weekEndDay+"\")'>"+weekBeginMonth+"."+weekBeginDay+"--"+weekEndMonth+"."+weekEndDay+"</td>";
}
weekBeginDay=weekEndDay+1;
weekEndDay=weekEndDay+7;
weekBeginMonth=weekEndMonth;
weekBeginYear=weekEndYear;
}
str=str+"</tr></table>";
document.getElementById("week_day").innerHTML =str;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值