<SCRIPT type="text/javascript"> <!-- //------------------------ カレンダー表示 2007/10/08 ------------------------- // 前月、翌月を表示できるように修正 today = new Date() ; // 今日のデータ var cal_yy = change_year(today.getYear()); // 年 var cal_mm = today.getMonth() + 1; // 月 var today_holiday = 0; // 当日が祝日の場合 function calendar_disp(){ document.write("<DIV id='calendar' style='position:absolute;'>") ; document.write(calendar(cal_yy , cal_mm)) document.write("</DIV>") holiday_com(today_holiday) } //-- 前月、翌月の切り替え function month_back_next(nn){ cal_mm = cal_mm + nn qq=calendar(cal_yy , cal_mm) cal_changeElementText("calendar", qq); holiday_com(today_holiday) } //-- 年号を4桁で取得できない場合、4桁に変換 function change_year(qq){ if(qq < 2000){ qq = qq + 1900 } return qq } //------------ カレンダーの表示 --------------- //-- http://www004.upp.so-net.ne.jp/sekiuchi/js/contents/hcc3.html function calendar(cal_yy , cal_mm){ var siz = "style='font-size:9pt;line-height:120%'"; // 表示サイズ var youbi = new Array("日","月","火","水","木","金","土") var css_calendar_waku = "border-width : 2px ; border-color : #ff9494 ; border-style : solid ;" var today_holiday = 0; // 当日が祝日の場合 var z_today = new Date() var cal_yyy = change_year(z_today.getYear()); // 年 var cal_mmm = z_today.getMonth() + 1; // 月 var now_year = z_today.getYear(); if(now_year < 2000){ now_year += 1900;} var now_month = z_today.getMonth() + 1; var q1 = cal_yyy + "" + cal_mmm var q2 = cal_yy + "" + cal_mm if (q1 == q2){ day = new Date() // 今日のデータ thisday = day.getDate(); // 今日の日付 firstday = new Date() firstday.setDate(1) var startday = firstday.getDay(); // 初日の曜日 }else{ day = new Date(cal_yy , cal_mm - 1 , 1); // 指定年月日のデータ day.setDate(1); // 1日にセット var startday = day.getDay(); // 初日の曜日 } day.setDate(1); //今月最初の日にセット month = day.getMonth() + 1; year = change_year(day.getYear()); numdays = new Array(31,28,31,30,31,30,31,31,30,31,30,31); dd = new Array() // うるう年 if((year%4 == 0) && (year%100 != 0) || (year%400 == 0)) numdays[1] = 29; //---------- 休日の定義 ---------- hol_com1 = "" ; hol_com2="" ; hol_com3="" if(month == 1){ holiday1 = 1; holiday2 = 14-(day.getDay()+5)%7; holiday3 = -1 hol_com1 = "元旦" ; hol_com2 = "成人の日" } else if(month == 2){ holiday1 = 11; holiday2 = -1; holiday3 = -1 hol_com1 = "建国記念の日" } else if(month == 3){ ed = 20.8431 + 0.242194 * (year - 1980) - Math.floor((year - 1980)/4); holiday1 = Math.floor(ed); holiday2 = -1; holiday3 = -1; hol_com1 = "春分の日" } else if(month == 4){ holiday1 = 29; holiday2 = -1; holiday3 = -1 hol_com1 = "昭和の日" } else if(month == 5){ holiday1 = 3; holiday2 = 4; holiday3 = 5 hol_com1 = "憲法記念日" ; hol_com2 = "みどりの日" ; hol_com3 = "こどもの日" } else if(month == 6){ holiday1 = -1; holiday2 = -1; holiday3 = -1 } else if(month == 7){ holiday1 = 21-(day.getDay()+5)%7; holiday2 = -1;holiday3 = -1 hol_com1 = "海の日" } else if(month == 8){ holiday1 = -1; holiday2 = -1; holiday3 = -1 } else if(month == 9){ holiday1 = 21-(day.getDay()+5)%7; ed = 23.2488 + 0.242194 * (year - 1980) - Math.floor((year - 1980)/4); holiday2 = Math.floor(ed); holiday3 = -1 hol_com1 = "敬老の日" ; hol_com2 = "秋分の日" } else if(month == 10){ holiday1 = 14-(day.getDay()+5)%7;; holiday2 = -1; holiday3 = -1 hol_com1 = "体育の日" } else if(month == 11){ holiday1 = 3; holiday2 = 23; holiday3 = -1 hol_com1 = "文化の日" ; hol_com2 = "勤労感謝の日" } else if(month == 12){ holiday1 = 23; holiday2 = -1; holiday3 = -1 hol_com1 = "天皇誕生日" } if(holiday1 != -1){dd[holiday1] = hol_com1} if(holiday2 != -1){dd[holiday2] = hol_com2} if(holiday3 != -1){dd[holiday3] = hol_com3} //---------- 休日の定義終わり ---------- //--- カレンダー本体 var tuki = month if(month < 10){tuki = "0" + month} var cc="" cc +="<TABLE border='0' cellspacing='0' cellpadding='0' onMouseout='javascript:holiday_com(today_holiday)'>"; cc +="<TBODY>" cc +="<TR><TD>"; //-- カレンダー本体の表示 cc +="<TABLE border='1' cellspacing='0' cellpadding='1' bgcolor='#ffffff' style= '" + css_calendar_waku + "'>"; cc +="<TBODY>" cc +="<TR><TD colspan='7' bgcolor='#336699' align='center'>"; cc +="<TABLE border='0' cellspacing='0' cellpadding='1'>";// height='23'>"; cc +="<TBODY>" cc +="<TR>"; cc +="<TD><A href='javascript:month_back_next(-1)' onfocus='this.blur()'><IMG src='a_left.gif' border='0' hspace='10' vspace='3' title='前月のカレンダー'></A></TD>" cc +="<TD><B><FONT " + siz + " color='#ffffff'>" + year + " 年 " + tuki + " 月" + "</FONT></B></TD>"; cc +="<TD><A href='javascript:month_back_next(1)' onfocus='this.blur()'><IMG src='a_right.gif' border='0' hspace='10' vspace='3' title='翌月のカレンダー'></A></TD>" cc +="</TR>" cc +="</TBODY>" cc +="</TABLE>" cc +="</TD></TR>"; cc +="<TR>"; for(ii=0 ; ii<7 ; ii++){ col="black" if(ii == 0){col='red'} if(ii == 6){col='blue'} cc += "<TD bgcolor='#d9ffff' align='center'>" cc +="<B><FONT " + siz + " color='" + col + "'>" cc += youbi[ii] cc +="</FONT></B>" cc +="</TD>"; } cc += "</TR>"; //-- 日付の書き込み var col=""; var flag_today = 0 for(sunday = 1-day.getDay(); sunday <= numdays[month-1]; sunday +=7){ cc += "<TR align=center>"; for(i = sunday; i < sunday + 7; i++){ if((i > 0) && (i <= numdays[month-1])){ day.setDate(i); today = day.getDay(); if(thisday == i && year == now_year && month == now_month){ cc += "<TD bgcolor='#ffff00' onMouseover='javascript:holiday_com(" + i + ")'>"; // 今日の背景色を黄色にする flag_today = 1 today_holiday = i }else{ cc += "<TD onMouseover='javascript:holiday_com(" + i + ")'>"; flag_today = 0 } if(today == 0){ col = "#ff0000" }else if((i == holiday1)||(i == holiday2)||(i == holiday3)){ col = "#ff0000" }else if((today == 1)&&((i-1 == holiday1)||(i-1 == holiday2)||(i-1 == holiday3))){ col = "#ff0000" dd[i] = "振替休日" }else if(today == 6){ col = "#0000ff" }else{ col = "#000000" } //-- 今日の日付を強調表示 if(flag_today == 1){ cc +="<FONT " + siz + " color='" + col + "'><B>" + i + "</B></FONT>" cc +="</TD>" }else{ cc +="<FONT " + siz + " color='" + col + "'>" + i + "</FONT></TD>" } }else{ cc +="<TD><FONT " + siz + "'> </FONT></TD>"; dd[i]="" } } cc +="</TR>"; } cc +="</TBODY>" cc +="</TABLE>"; cc +="</TD></TR>" //-- 祝日名の表示 cc +="<TR><TD>" cc +="<FONT style='color : #ff0000 ; font-size:10pt ; line-height : 160%'><SPAN id='holiday'></SPAN></FONT>" cc +="</TD>"; cc +="</TR>"; cc +="</TBODY>" cc +="</TABLE>"; return cc ; //document.write(cc); } //---------- テキストの表示 ------------ function cal_changeElementText(id, newText) { element = document.getElementById(id); element.innerHTML = newText; } //-- 祝日名の表示 function holiday_com(ii){ var qq = dd[ii] if(qq == null){ qq=" " } cal_changeElementText('holiday', qq) } //--> </SCRIPT>