您的位置:首页 > Web前端 > JavaScript

使用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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐