• ベストアンサー

カレンダーを自動生成させたいのですが

いろいろなサイトを拝見していると よくナビゲーションの下とかトップページとかに 月々のカレンダーがあり、店休日を表記していたりするのを見かけます。 これを自分のサイトにも作ってみたいのですが、 一ヶ月ごとに枠を組み、日付をいれという作業では手間がかかって とても時間がかかります。 いろいろと調べていると、カレンダーを自動で生成することができるというのを見つけたのですが、どういう方法で作成しているのかがわかりません。 そういうツールがあるのでしょうか? もしくは、とても難しいプログラムを組まなくてはいけないのでしょうか? もし、提供されているサービスがあればお教え願えますでしょうか? また、それを自分のサイトに埋め込んで使い続けるということは可能なのでしょうか? 無知故の、無礼な質問かとは思いますがどなたかお知恵を拝借できると幸いです。 どうぞよろしくお願いします!

質問者が選んだベストアンサー

  • ベストアンサー
noname#84373
noname#84373
回答No.3

<html> <head> <style> .day{color:#fff;background-color:#080;font-size:12px;line-height:1;width:13px;} .d0 { background-color:#fdd; } .d1 { background-color:#ffd; } .d2 { background-color:#ffd; } .d3 { background-color:#ffd; } .d4 { background-color:#ffd; } .d5 { background-color:#ffd; } .d6 { background-color:#ddf; } th { background-color:#dfd; } td {font-size:16px; width:45px;} .ho { color:#f00; } .ei { color:#88a; } </style> </head> <body> <script> //0日目があるけど、2番目からが1日 holiday=[0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,1,0,1]; var t = new Date, c=-new Date(y=t.getFullYear(),m=t.getMonth()).getDay()+1,b=f=0; var x=[31,28+(y%400==0)^(y%100==0)^(y%4==0),31,30,31,30,31,31,30,31,30,31][m]; var ht='<table border="1"><caption>'+y+'/'+(m+1)+'</caption><tr>'; for(i=0;i<7;i++) ht+='<th>'+'日月火水木金土'.substr(i,1)+'</th>';ht+='</tr>'; while(f<2){ if(!b) ht+='<tr>'; ht+='<td class="d'+b+'">'+((c<1||f)?'-':'<div class="day">'+c+'</div>'+(holiday[c]?'<span class="ho">休み</span>':'<span class="ei">営業</span>'))+'</td>'; f=(++c>x);if(++b>6) {ht+='</tr>';b=0;f*=2;} } document.write(ht); </script>

その他の回答 (2)

noname#84373
noname#84373
回答No.2

<html> <body> ようこそ Javascriptの世界へ!! <script> var t = new Date, c=-new Date(y=t.getFullYear(),m=t.getMonth()).getDay()+1,b=f=0; var x=[31,28+(y%400==0)^(y%100==0)^(y%4==0),31,30,31,30,31,31,30,31,30,31][m]; var ht='<table border="1"><caption>'+y+'/'+(m+1)+'</caption><tr>'; for(i=0;i<7;i++) ht+='<th>'+'日月火水木金土'.substr(i,1)+'</th>';ht+='</tr>'; while(f<2){ if(!b) ht+='<tr>'; ht+='<td>'+((c<1||f)?'-':c)+'</td>'; f=(++c>x);if(++b>6) {ht+='</tr>';b=0;f*=2;} } document.write(ht); </script>

  • TERIMAYO
  • ベストアンサー率36% (8/22)
回答No.1

カレンダー生成は、CGI、PHPやJavascriptが一般的ですが、 CGI不可なサーバーでしたら、Javascriptで表示させるのが一番手っ取り早いかと思います。 「javascript カレンダー」などで検索すると、 その手のスクリプトを配布しているサイトがたくさん出てきますので、 そちらをご参照下さい。 本当にたくさんあるのでお勧めサイトとかは無いですごめんなさい<(_ _)>

関連するQ&A