• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:曜日の求め方)

曜日の求め方

このQ&Aのポイント
  • 初心者向けに、JavaScriptを使用して月間計画表を作成する方法について質問します。
  • 表の中には、日付の列と曜日の列があり、曜日は月が変わるごとに自動で変更されるようにしたいです。
  • 具体的なスクリプトの書き方やテーブルの作成方法について教えてください。

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

  • ベストアンサー
noname#30818
noname#30818
回答No.1

week = new Array("日","月","火","水","木","金","土"); day = new Date(好きな日付);//例えば'2007/5/20'など Dateは定義済みコアオブジェクトと呼ぶらしく、括弧内に書くものを引数と呼ぶらしい。 引数を省略すると今日の日付と時刻を作成する。 "月 日, 年 時:分:秒" で日付を表した文字列。new Date("December 25, 1995 13:30:00")。 年、月、日を表す整数値のセット。new Date(1995,11,25)。 年、月、日、時、分、秒を表す整数値のセット。new Date(1995,11,25,9,30,0) これらを引数にするとその日付を作成するらしい。 http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide:Predefined_Core_Objects:Date_Object こうして作成された日付を"get"メソッドにより取得できるらしい。 y = day.getFullYear(); m = day.getMonth()+1; d = day.getDate(); w = week[day.getDay()]; そんなことで例えばfor文を使って1ヶ月分の日と曜日をbody内に書き出そうと思いスクリプトを書いてみるとこんな形で書くことができるとおもいますよ。(悪いスクリプト例です。) <script type="text/javascript"> week = new Array("日","月","火","水","木","金","土"); //"aaa(月)"でその月の日と曜日を書き出す。例の場合4月 window.onload=function(){aaa(4)} function aaa(mm){ k='<table>' for(var i = 1;i < 100;i++){//100回繰り返す day = new Date('2007/'+mm+'/'+i);//'2007/4/1'~'2007/4/100'を求めている y = day.getFullYear(); m = day.getMonth()+1; d = day.getDate(); w = week[day.getDay()]; if(m != mm){break;}//4/31は5/1となるので'mm'と'm'が一致しないので繰り返しが終る(break)。 k+='<tr><td>'+d+'</td><td>'+w+'</td></tr>' } k+='</table>' document.body.innerHTML=k;//bodyの中身をkにする。 } </script>

tbpm
質問者

お礼

…すみません、CSS云々に関しては自己解決できました。 javascriptって、excelの数式程度に考えていたのですごくいい勉強になりました。奥が深いんですね。 これから色々調べてもっと勉強してみます。 今回は、どうもありがとうございました。

tbpm
質問者

補足

コメントのところがスゴクわかりやすくて、大変助かりました。 初心者の私でも理解できました。 大体これで充分なのですが、一つだけ教えてただけませんか? 後ろから3行目の 『document.body.innerHTML=k;//bodyの中身をkにする。』 というところなのですが、もしこの『body』というのを例えば、このhtml内の既存のid name にすると、そのid内にこの日付と曜日を記述してくれるのでしょうか? この月間予定表を置こうと思っているページは、CSSでブログの様にidの付いたボックスを配置してあります。 その中の <div id="side"></id> この二つのタグの間に(id sideの内容として)書き出したいと思ってるのですが… (ジャンル違いでしたら本当にすみません)