2016-04-13 50 views
0

Hafta sayısını ve ardından o haftaya denk gelen belgeleri yazmayı deniyorum. Örneğin, Nisan 2016'ya istediğiniz ayı girdiğinizde, hafta içi
gösterecektir. Daha sonra 1. haftada 1., cuma, 2. cumartesi. Sonra 2. hafta 3. Pazar, 4. ay pazartesi ve tüm ay boyunca.JS - ayın tarihleri, hafta gruplamasına göre.

//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++; 
    } 
} 
Ben WEEKNUM iterated ve ekrana outputted alabilirsiniz

, ben yineleme ve çıkış için istenen aydaki gün sayısını elde edebilirsiniz. Ama doğru WEEKNUM altında çıkışına etcc, sadece birkaç gün 1,2,3" almak gibi olamaz.

sayesinde önceden.

cevap

1

bu deneyin, ben tam olarak gerçi ne gerek emin değilim

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

Sizin için çalıştıklarına sevindim! – jeetaz