2012-04-02 5 views
0

私はコードが7日、次month.the前に罰金限り、それはだとして働くJavascriptをgetMonth()とのgetDate transions issuse

function displaydates(){ 
// read the string output from the datepicker and 
    //evalutes which date goes into which cell 

var date = document.getElementById("datepicker"); // Mon APR 30 2012 HH:MM:SS 

var m = new Date(date.value); 
var num = parseInt(m.getDate()); 
    var i = 0; 
    var days=[]; 
    var x; 
    for(i; i<=6; i++){ 
     var day= m.setDate(num+i); 
     var month = m.setMonth(m.getMonth()); 
     x = m.getMonth()+1 + "/" + m.getDate() + "<br />"; 
     days.push(x); 
    } 
     document.getElementById("Monday").innerHTML= days[0]; 
     document.getElementById("Tuesday").innerHTML=days[1]; 
     document.getElementById("Wednesday").innerHTML=days[2]; 
     document.getElementById("Thursday").innerHTML=days[3]; 
     document.getElementById("Friday").innerHTML=days[4]; 
     document.getElementById("Saturday").innerHTML=days[5]; 
     document.getElementById("Sunday").innerHTML=days[6]; 
} 

週の7日を表示するには、次の関数を記述しようとしていますこんにちはユーザが機能には、以下の私の関数が出して作ります例

var m = new Date("Apr 30 2012");//monday 

のために間違った情報 を出力し、次の7日間を見たいとき、私が午前問題がある

4/29、5/30、7/1、9/1、11/2、1/3、3/7

これもまた、次の月への移行時にのみ発生します。私の機能で月の移行作業に月を作るために行う

答えて

0

たとえば、setDate(32)を呼び出すと、JavaScriptは追加の月を必要とし、それを日付に追加します。後でsetDate(33)を呼び出すと、それは再び余分月に追加されます、...

このソリューションは、より良い仕事かもしれません(一部省略されている):助けを

var start = new Date(); 
var days = []; 
for(var i = 0; i <= 6; ++i) { 
    var str = (start.getMonth() + 1) + '/' + start.getDate() + '<br />'; 
    days.push(str); 
    start.setDate(start.getDate() + 1); 
} 
+0

ありがとう、私はこの問題を、私ができることよりもずっと長くついてきてくれてありがとう、ありがとう、このコードは私にとって非常にはっきりしています:pもう一度大変ありがとうございます – Triggs

+0

@Triggs:問題ありません。 [この回答を受け入れるとマークする](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work#answers)があります。 – DCoder

0

以下にソリューションに、これはあなたの問題を解決し

function displaydates(){ 
// read the string output from the datepicker and 
    //evalutes which date goes into which cell 

var date = document.getElementById("datepicker"); // Mon APR 30 2012 HH:MM:SS 

var m = new Date(date.value); 
var num = m.getTime(); 
    var i = 0; 
    var days=[]; 
    var x; 
    for(i; i<=6; i++){ 
     num+=86400000; //Edited Part 
     m = new Date(num); 
     var day= m.getDate(); 
     var month = m.getMonth(); 
     x = month+1 + "/" + day + "<br />"; 
     days.push(x); 
    } 
     document.getElementById("Monday").innerHTML= days[0]; 
     document.getElementById("Tuesday").innerHTML=days[1]; 
     document.getElementById("Wednesday").innerHTML=days[2]; 
     document.getElementById("Thursday").innerHTML=days[3]; 
     document.getElementById("Friday").innerHTML=days[4]; 
     document.getElementById("Saturday").innerHTML=days[5]; 
     document.getElementById("Sunday").innerHTML=days[6]; 
} 

希望を使用してください。

+0

感謝が、これは私のために新しい問題を作成し、 。それは同じ日だけ7回印刷します毎回の繰り返しで日の増加がありません – Triggs

+0

こんにちは私は答えを変更しました、今あなたは正しい答えを得るこの機能を使用 – AmGates

+0

これは夏時間旅行になります。 – DCoder

関連する問題