- ベストアンサー
JavaScript で日数の加算をしたい
Java Scriptを少しずつ勉強しています。 例えば、フォームに西暦「2000」年と入れると、 自動的に「2000年12月31日」から1234日後の日付を表示させるようにしたいです。 どんなふうに書けば、できますか? まだ初心者なのでよろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
回答1の ミリ秒で日付を取得 から 書き出す までの5行を var addDate = 1234;//1234日 dt.setDate(dt.getDate()+addDate);//1234日後の日付をセットする document.getElementById("hiduke").innerHTML = dt.getFullYear() + "年"+(dt.getMonth()+1) + "月" + dt.getDay() + "日";// 書き出す に変えてください
その他の回答 (1)
- t_ohta
- ベストアンサー率38% (5253/13739)
こんな感じでしょうかね。 Dateオブジェクトを使って計算すると日付、時刻の計算が出来ます。 <input id="year" type="text">年12月31日の1234日後は<span id="hiduke"></span>です。<br> <button type="button" onclick="After1234();">計算</buttn> <script> function After1234 () { var y = document.getElementById("year").value; var dt = new Date(y, 12 - 1, 31);//元の日付をセット var baseSec = dt.getTime();//ミリ秒で日付を取得 var addSec = 1234 * 86400000;//1234日 * 1日のミリ秒数 var targetSec = baseSec + addSec;//足す dt.setTime(targetSec);//1234日後の日付をセットする document.getElementById("hiduke").innerHTML = dt.getFullYear() + "年"+dt.getMonth() + "月" + dt.getDay() + "日";// 書き出す } </script>
補足
詳しい回答ありがとうございます。 で、動作させてみたのですが、なぜか計算が合いません・・・ 例えば、「2000年12月31日の1234日後は2004年4月2日です。」 と出ました。
お礼
ありがとうございます。 大変助かりました。