かっこいい万年カレンダー
Sample

 

スクリプト

<HEAD>
<TITLE>かっこいいカレンダー</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function makeArray(n){
this.length = n;
for(var i = 1; i <=n; i++)
this[i] = 0;
return this
}

function calender(){
var today= new Date();
var yearmaster = today.getYear();
var monthmaster = today.getMonth()+1;
var year = yearmaster;
var month = monthmaster;
var day = today.getDate();

var days = new makeArray(12);
days[1]=31;
//閏年の判定
if(((year % 4) == 0 && (year %100) !=100) || (year % 400) == 0){
days[2] = 29;
} else {
days[2] = 28;
}
days[3]=31;
days[4]=30;
days[5]=31;
days[6]=30;
days[7]=31;
days[8]=31;
days[9]=30;
days[10]=31;
days[11]=30;
days[12]=31;

//作成年月の取得
if (year < 1582){
alert("グレゴリオ暦の使用は1582年以降です");

}
if (month >12 || month <1){
alert("月は1〜12で指定してください");

}

//第1日の曜日判定
if ((month-=2)<1) { year--; month+=12;}
var a = Math.floor(year % 100);
a += Math.floor(a / 4);
var b = Math.floor(year / 100);
farstday = Math.floor((a + (b * 5) + Math.floor(b / 4) +
Math.floor((month * 26 - 2) / 10) + 1) % 7);

//カレンダー配列に日付を格納する
var datenum = 1;
var calender = new makeArray(42);
for(i=0;i<42;i++){
if((i <farstday )|| (datenum > days[monthmaster])){
calender[i] = 0;
}
else {
calender[i] = datenum++;
}
}

// カレンダーの書き出し
document.write("<table border=\"0\" >");
p=0;
document.write("<tr>");
document.write("<td colspan=\"7\" align=\"center\">");
document.write(monthmaster+"月");
document.write("</td>");
document.write("</tr>");
document.write("<tr>");
document.write("<td width=\"10\" align=\"center\"><font color=\"#FF0000\">Sun</font></td>");
document.write("<td width=\"10\" align=\"center\">Mon</td>")
document.write("<td width=\"10\" align=\"center\">Tue</td>")
document.write("<td width=\"10\" align=\"center\">Wed</td>")
document.write("<td width=\"10\" align=\"center\">Thu</td>")
document.write("<td width=\"10\" align=\"center\">Fri</td>")
document.write("<td width=\"10\" align=\"center\"><font color=\"#0000FF\">Sat</font>")
document.write("</td>")
document.write("</tr>")

for(i=0;i<6;++i){
document.write("<tr>")
for(j=0;j<7;++j){
document.write("<td align=\"center\">")

if(calender[p] == 0 ){
document.write(" ");
} else {
day_color="black";
if( j == 0 ){day_color="red"};
if( j == 6 ){day_color="blue"};
if( day == calender[p]){day_color="lime"};
drawTheDay(day_color,calender[p]);
}
document.write("</td>")
p++
}
document.write("</tr>")
}
document.write("</table>")
}

function drawTheDay(color,day){
document.writeln('<FONT COLOR="',color,'">');
document.writeln(day);
document.writeln("</FONT>");
}


// -->
</SCRIPT>
</HEAD>
<BODY>

<SCRIPT LANGUAGE="JavaScript">
<!--
calender();
//-->
</SCRIPT>