当月のカレンダー





ソース

<script language="javascript"> <!-- //初期設定(お好みに合わせて設定してください)////////////////////////////// tokei_hidden=20; //時計の有無 1=時計あり  0=時計非表示 2以上=その数字の日以降は翌月カレンダーも表示 moji_siz=30;//文字サイズ; moji_col="#008800";//文字色 haikei="back.gif";//背景 色は"#cccccc";のような色コード、透明は"transparent"; 壁紙は"back.gif"; のようにファイル名を書く) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// dc=new Array(); dn=0;dc[dn]="西暦|春分の日|秋分の日|成人の日|海の日|敬老の日|体育の日|元日|建国記念の日|みどりの日|憲法記念日|休日|"; dc[dn]+="こどもの日|文化の日|勤労感謝の日|振替休日|天皇誕生日|"; ////////////======================================================================================================/// ////////////"西暦|春 分|秋 分|成 人| 海 |敬 老|体 育|元 日|建 国| 緑 |憲 法|休 日|子 供|文 化|勤 労|振 替|天 皇"/// ////////////-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|------/// dn++;dc[dn]="2003|03/21|09/23|01/13|07/21|09/15|10/13|01/01|02/11|04/29|05/03|05/04|05/05|11/03|11/23|11/24|12/23"; dn++;dc[dn]="2004|03/20|09/23|01/12|07/19|09/20|10/11|01/01|02/11|04/29|05/03|05/04|05/05|11/03|11/23|11/24|12/23"; dn++;dc[dn]="2005|03/20|09/23|01/10|07/18|09/19|10/10|01/01|02/11|04/29|05/03|05/04|05/05|11/03|11/23|11/24|12/23"; dn++;dc[dn]="2006|03/21|09/23|01/09|07/17|09/18|10/09|01/01|02/11|04/29|05/03|05/04|05/05|11/03|11/23|11/24|12/23"; dn++;dc[dn]="2007|03/21|09/23|01/08|07/16|09/17|10/08|01/01|02/11|04/29|05/03|05/04|05/05|11/03|11/23|11/24|12/23"; dn++;dc[dn]="2008|03/20|09/23|01/14|07/21|09/15|10/13|01/01|02/11|04/29|05/03|05/04|05/05|11/03|11/23|11/24|12/23"; dn++;dc[dn]="2009|03/20|09/23|01/12|07/20|09/21|10/12|01/01|02/11|04/29|05/03|05/04|05/05|11/03|11/23|11/24|12/23"; dn++;dc[dn]="2010|03/21|09/23|01/11|07/19|09/20|10/11|01/01|02/11|04/29|05/03|05/04|05/05|11/03|11/23|11/24|12/23"; ////////// 2010年以降使う場合は同様の書式で書き足してください            ///// //////////=======================================================================================================/// //カレンダーサブルーティン function koyomi(s_hi){ //パソコンカレンダーを取得 ymd=new Date(); hi=ymd.getDate();//今日の日付 ymd.setDate(s_hi); nen=ymd.getFullYear();//今年 //祝日 dm=""; for(i=1;i<=dn;i++){ dl=dc[i].indexOf(nen); if(dl==0){dm=dc[i];} } iwai_na=dc[0].split("|"); iwai_hi=dm.split("|"); //月々の日数 nisu="0,31,28,31,30,31,30,31,31,30,31,30,31".split(","); //2月の日数 uru=(nen%4);if(uru==0){nisu[2]=29;} uru=nen%100;if(uru==0){nisu[2]=28;} uru=nen%400;if(uru==0){nisu[2]=29;} tuki=ymd.getMonth()+1;//今月 //今月の祝日 iwai_dt=new Array(31); for(i=0;i<=31;i++){iwai_dt[i]="";} for(i=1;i<iwai_hi.length;i++){ dd=iwai_hi[i].split("/"); d1=dd[0]*1;d2=dd[1]*1; if(d1==tuki){ iwai_dt[d2]=iwai_na[i]; } } day=ymd.getDay();//曜日 //カレンダー準備 d1=" , , , , , , ,"; d=d1+d1+d1+d1+d1+d1; da=d.split(","); for(i=1;i<=nisu[tuki];i++){ da[i+day]=i; } //カレンダー表示 document.write('<form name="tokei">'); document.write(nen,'年',tuki,'月<hr>'); document.write('<table border=0 cellpadding=3 style="',s,'" id="tbl',s_hi,'"><tr>'); document.write('<th style="color:#ff0000">日</th><th>月</th><th>火</th><th>水</th>'); document.write('<th>木</th><th>金</th><th style="color:#0000ff">土</th></tr><tr>'); for(i=1;i<=42;i++){ bak="";col=""; if(i%7==1){col="color:#ff0000;";}//日曜(赤) if(i%7==0){col="color:#0000ff;";}//土曜(青) if(iwai_dt[da[i]]!=""){col="color:#ff8800;";}//祝日(橙) if(da[i]==hi && s_hi<2){bak="background-color:#ffff88;";col_iti=i+6;}//当日の背景色 document.write('<td id="bbcc" align=right style="',col,bak,'">',da[i],'</td>'); if(i%7==0){document.write('</tr><tr>');} } document.write('</table>'); } //当月カレンダー id_no=0; g=haikei.indexOf("."); if(g>0){gg="background";}else{gg="bgcolor";} s='font-size:'+moji_siz+';color:'+moji_col+';'; document.write('<table border=1 cellpadding=10 ',gg,'="',haikei,'" style="',s,'"><tr><td align=center>'); koyomi(1); nen1=nen;tuki1=tuki;hi1=hi;day1=day; //翌月カレンダー if(tokei_hidden>1 && hi>tokei_hidden){ document.write('</td></tr><tr><td align=center>'); koyomi(nisu[tuki]*1+1); } ///時計// g=haikei.indexOf("."); if(g>0){gg="transparent";}else{gg=haikei;} s='font-size:'+moji_siz+';background-color:'+gg+';border-width:0;color:'+moji_col+';text-align:center;'; if(tokei_hidden>0){ document.write('<hr><input type=text size=18 name="hms" value="" style="',s,'">'); }else{ document.write('<input type=hidden name="hms" value="" >'); } document.write('</td></tr></table>'); document.write('</form>'); //年月日時分秒取得 function jikoku(){ qt=new Date(); qy=qt.getFullYear(); qm=qt.getMonth();qmm=qm+1; qd=qt.getDate(); qw=qt.getDay(); qh=qt.getHours();if(qh<10){qh="0"+qh;} qm=qt.getMinutes();if(qm<10){qm="0"+qm;} qs=qt.getSeconds();if(qs<10){qs="0"+qs;} //表示データ生成 ymd=qh+"時"+qm+"分"+qs+"秒"; //表示更新 document.tokei.hms.value=ymd; //カレンダーの当日 if(navigator.appName.substring(0,1)=="M"){ c=col_iti; tbl1.rows(Math.floor(c/7)).cells(c%7).style.background = ""; c=qd+day1+6; if(tuki1<qmm || nen1<qy){c=hi+day1+7;} tbl1.rows(Math.floor(c/7)).cells(c%7).style.background = "#ffff88"; col_iti=c; } setTimeout("jikoku()",1000); } //スタート jikoku(); //--> </script>