2016-07-20 6 views
0

指定されたDateの月に残っている各日のDateオブジェクトを含む配列を返す必要があります。javascriptを使用して月の残りの日の新しい日付オブジェクトの配列を返すforループを作成する方法

new Date()オブジェクトを月に残りの日に設定して、配列に追加して配列を返すループを作成する必要があります。

月の残りの日数を取得するためのコードがありましたが、何らかの理由でループ/配列の部分を特定できません。

function findDays(theDate) { 
    var now = new Date(); 
    var date = now.getDate(); 
    var last = new Date(now.getFullYear(), now.getMonth()+1, 0).getDate(); 
    return last - date; 
} 

console.log(findDays() - (new Date(2016, 0, 1)).getDate()); 

答えて

0

は一度に一日を進めるためにDateオブジェクトのgetTimesetTimeメソッドを使用することができます。

は、ここに私のコードです。

var days = []; 
var now = new Date(); 
var day = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0, 0); 
while (day.getMonth() === now.getMonth()) { 
    days.push(day); 

    // Go to the next day 
    day = new Date(day.getTime() + 86400000); // There are 86400000 milliseconds in a day 
} 
+0

ご回答いただきありがとうございます。現在の日付とその月の最後の日付の配列を返すためにこれをどのように使用するのか考えていますか? – Khan

+0

配列を作成するために私の答えを編集しました。私はまた、日付から時間コンポーネントを削除しました –

+1

すべての日が24時間ではないので、1日追加するために8.64e7秒を追加するだけではいけません。 * day *は当初は00:00:00に設定されています。したがって、夏時間から外れる日には、同じ日に新しい日付が23:00になります。代わりに1日追加: 'day = new Date(day.setDate(day.getDate()+ 1))'。これは* setDate *メソッドが更新された日付の時刻値を返すために機能します。 – RobG

関連する問題