- ベストアンサー
期間を表示させる組み方を教えてください。
- 期間を表示させる方法について教えてください。具体的には、2010年10月30日から2010年11月5日までの間を表示させる方法を求めています。
- HTML内にJavaScriptコードを埋め込むことで期間を表示させることができます。具体的なコード例として、以下のようなスクリプトを使用します。
- 外部スクリプトにkei変数を用意し、Kikan関数に引数として日付を渡すことで、期間を表示させることができます。また、現在の日付を取得してkeiの数値を足すことで、期間の終了日を計算し表示させることも可能です。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
既に回答が出てますが… Dateは結構そのまま計算できたりします。 今回の場合は、指定日から(kei-1)日後の日付を取得すればよいので、 date.setDate(date.getDate() + kei -1) みたいにすれば、○日後を得ることができます。 ご質問の仕様のままとして、 (外部ファイル) var Kikan = (function(z) { var kei = 7; return function(hizuke) { var date0 = new Date(hizuke), date1 = new Date(hizuke); date1.setDate(date1.getDate() + kei -1); document.write(z(date0) + "~" + z(date1) + " " + kei + "日間"); }; })(function(d) { return d.getFullYear() + "年" + (d.getMonth() + 1) + "月" + d.getDate() + "日"; });
その他の回答 (3)
- yyr446
- ベストアンサー率65% (870/1330)
気付かれないうちに修正 function Kikan(hizuke,kei){ var hizukes = hizuke.split("/"); var from_day = new Date(hizukes[0]*1,hizukes[1]*1-1,hizukes[2]*1); var to_day = new Date(from_day.getTime() + kei*24*60*60*1000); var mystr = from_day.getFullYear() + "年" + (from_day.getMonth()+1) + "月" + from_day.getDate() + "日" + "~" + to_day.getFullYear() + "年" + (to_day.getMonth()+1) + "月" + to_day.getDate() + "日" + " 計" + kei + "日"; return mystr; }
お礼
参考書見ながら考え方をソースに当てはめると こうなるのかと解りやすく とても助かりました。 同じ表示でも組み方が色々あるのですね。 参考にさせていただきます。 ありがとうございます。
- yyr446
- ベストアンサー率65% (870/1330)
あれっ .getMonth() は1月が0で、12月が11のはずだったのに....
- yyr446
- ベストアンサー率65% (870/1330)
関数kikan()は↓のようにして(行の先頭の全角空白は半角空白にしてね) function Kikan(hizuke,kei){ var hizukes = hizuke.split("/"); var from_day = new Date(hizukes[0],hizukes[1],hizukes[2]); var to_day = new Date(from_day.getTime() + kei*24*60*60*1000); var mystr = from_day.getFullYear() + "年" + from_day.getMonth() + "月" + from_day.getDate() + "日" + "~" + to_day.getFullYear() + "年" + to_day.getMonth() + "月" + to_day.getDate() + "日" + " 計" + kei + "日"; return mystr; } 埋め込むのは <script type="text/javascript">document.write(Kikan("2010/10/30",7));</script> でよろし。
お礼
こちらの組み方だと,とてもシンプルになるのですね。 同じ表示で違う組み方があると勉強になるので とても助かりました。 ありがとうございます。