您的位置:首页 > 其它

网页版日历

2015-09-20 10:33 483 查看
这里script写在了body后面,如果写在其前面,在加载script时会找不到加载的位置,而导致出现空白页,还有值得注意的地方,就是在输入

年月时,获取到的值是字符型的,所以要经行强转,后面才能正确的经行计算。

// JavaScript Document

var year=0;

do{

year=parseInt(prompt(“请输入年份:”));

}while( year<1900);

var month=0;

do{

//前面不管你是怎么定义的,在输入的时候还是会,变成字符型的,所以要进行强转

month=parseInt(prompt(“请输入月份:”));

}while( month<1||month>12);

//求出总天数

var sum=getTotalDays( year, month);

var weekDay=sum%7;

document.write(“

“+”星期天 星期一 星期二 星期三 星期四 星期五 星期六 “+”

“);

//2. 根据 weekDay输出空格, 注意: 输出空格后,不能换行

for( var i=0;i

document.write(” “);

}

// 3. 输出从1到这个月的最后一天(在此之前,必须先求出 year年的month月有多少天).

//求出year,month月有多少天

var days=getDays( year, month);

for( var i=1;i<=days;i++){

if(i<10){document.write(” “);}

if( isCurrentDay( year, month, i) ){

document.write( “”+i+” “);

}else{

document.write(“”+i+” “);

}

//3.1 当前的号数+weekDay %7 ==0 => 加入换行,否则不换

if( (i+weekDay)%7==0){

document.write(”

“);

}

}

document.write(”

“);

//判断是否为当前这个一天…

function isCurrentDay(year,month,i){

//取出系统的当前时间

rightNow = new Date();

//System.out.println( rightNow);

//再从这个时间取出 年, 月,日

var y=rightNow.getFullYear(); // Calendar.YEAR 表示你要取的是年的值

var m=rightNow.getMonth() +1; // Calendar.MONTH表示要取的是月份的值,但月份从0开始算的. 所以要加1

var d= rightNow.getDate();

//System.out.println( y + ” “+ m +” “+ d );

//再比较是否等于 year, month, i

if( year==y && month==m && i==d ){

return true;

}else{

return false;

}

}

//求出year年month月的一号距 1900.1.1有多少天

function getTotalDays( year, month){

//累计天数

var sum=0;

//1. 求出1900到 year-1那一年的总天数

for( var i=1900;i

if( isRun( i ) ){

sum+=366;

}else{

sum+=365;

}

}

//2. 求出 1到month-1 月的天数

for( var i=1;i

sum+=getDays( year, i );

}

// 3. 再多加一个1 ( 1号)

sum=sum+1;

return sum;

}

//求出闰平年: 闰年就返回true, 平年就返回false

function isRun( year ){

if (year % 4 == 0 && !(year % 100 == 0) || year % 400 == 0) { // 判断是否为闰年

return true;

} else {

return false;// 平年

}

}

function getDays( year, month){

//求出month月有多少天,但注意,如是2月,要判断闰平年

//返回值是一个数字.

var days=0;

switch (month) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

days = 31;

break;

case 2:

if ( isRun( year) ) {

days = 29;

} else {

days = 28;

}

break;

default:

days = 30;

break;

}

return days;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: