2016-04-13 21 views
0

私は週番号と、その週に該当する日をdocument.writeしようとしています。たとえば、希望の月として2016年4月を入力すると、weekNum
と表示されます。その後、1週目は1日目は金曜日、2日目は土曜日です。それから2週目は3日目、4日目は月曜日など、1か月間です。JS - 月単位の、週単位のグループ化。

//variables 
var reqMon; 
var todaysDate = new Date(); 
var currYr = todaysDate.getFullYear(); 
var currMon = todaysDate.getMonth(); 
var currDate = todaysDate.getDate(); 
var currDay = todaysDate.getDay(); 

//creates a month array. 
var monthArray = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); 
//creates a day array. 
var weekDaysArray = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"); 
//creates an array for how many days in each month. 
var maxMonthlyDays = new Array("31", "28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31"); 

//prompts user for numeric month. 
var reqMon = parseInt(prompt("Enter desired month (Jan = 1, Dec = 12)")); 

//validates users month input. 
while (reqMon == "" || reqMon < 1 || reqMon > 12) { 
    reqMon = prompt("Invalid Entry. Please enter the month number again.") 
} 

//Step 3B. 
document.write(reqMon + "/" + currDate + "/" + currYr + "<br /><br />"); 

//Step 4. 
document.write(monthArray[reqMon -1] + " " + currYr + "<br /><br />"); 

var dateComb = (reqMon + "/1/" + currYr); 
var userIdate = new Date(dateComb); 
var userDay = new Date(dateComb).getDay(); 
var userDate = new Date(dateComb).getDate(); 
var maxDays = maxMonthlyDays[reqMon -1]; 
var numberWeeks = maxMonthlyDays[reqMon - 1]/6; 

// **************** STEP 5 **************. 
//loops through weeks of month. 
for (x = 1; x <= maxMonthlyDays[reqMon]/6; x++) { 
    document.write("<b>Week " + x + "<br /></b>"); 

    while (userDay <= 6 && userDate <= maxMonthlyDays[reqMon]) { 
     document.write(weekDaysArray[userDay] + " " + userDate + "<br />"); 
     userDay++; 
     userDate++; 
    } 
} 

私はWEEKNUMは、画面に反復して出力得ることができ、私は反復して出力することが望ま月に日数の合計数を取得することができます。しかし、私は適切なWEEKNUM下の出力にETCC、唯一の日1,2,3」ように見えることはできません。事前に

感謝。

答えて

1

私はあなたがが必要な正確に何を確認していない、これを試してみてください。

for (x = 1; x <= numberWeeks; x++) { 
     document.write("<b>Week " + x + "<br /></b>"); 
     while (userDay <= 6 && userDate <= maxDays) { 
      document.write(weekDaysArray[userDay] + " " + userDate + "<br />"); 
      userDay++; 
      userDate++; 
     } 
     userDay = 0; 
    } 
+0

嬉しいことに、あなたのために働いた! – jeetaz

関連する問題