JavaScriptでfor文で日付表示したい場合、月末の最終日を取得するだけでは月の切り替えができないのでしょうか?
今日から一週間後までを表示するアプリを作りたいのですが1/31を過ぎると2/1にならず1/32と表示されてしまいます。
何か間違っている所ありますでしょうか?
以下ソースコード
<script type="text/javascript"><!--
var now = new Date();
var y = now.getFullYear();
var m = now.getMonth() + 1;
var d = now.getDate();
console.log(now); // Thu Jan 30 2014 00:00:00 GMT+0900 (東京 (標準時))
console.log(new Date(now.getFullYear(), now.getMonth() + 1, 0)); // Fri Jan 31 2014 00:00:00 GMT+0900 (東京 (標準時))
for(i=0;i<100;i++){
document.write(y + "/" + m + "/" + (d + i).toString() + "<br>");
}
// --></script>
<body>
</body>
こんな感じ。
var now = new Date(); var y = now.getFullYear(); var m = now.getMonth() + 1; var d = now.getDate(); console.log(now); // Thu Jan 30 2014 00:00:00 GMT+0900 (東京 (標準時)) console.log(new Date(now.getFullYear(), now.getMonth() + 1, 0)); // Fri Jan 31 2014 00:00:00 GMT+0900 (東京 (標準時)) for(i=0;i<100;i++){ // ここから変更してます y = now.getFullYear(); m = now.getMonth() + 1; d = now.getDate(); document.write(y + "/" + m + "/" + d + "<br>"); now.setTime(now.getTime() + 1000*60*60*24); // 1日後にする }
参考。
コメント(0件)