2014-05-15 2 views
1

나는 달의 주를 계산하는 가장 짧은 방법을 알고 싶습니다. 아래를 봐주세요.달의 주를 받으십시오

이번 달 내가이 기능은 일을해야한다고 생각 2014년 5월

Mon  Tue  Web  Thurs  Fri  Sat  Sun 
          1  2   3  4 <======= Week 1 
5  6  7  8  9   10  11 <======= Week 2 
12  13  14  15  16  17  18 <======= Week 3 
19  20  21  22  23  24  25 <======= Week 4 
26  27  28  29  30  31   <======= Week 5 
+1

또한보십시오 : http://stackoverflow.com/questions/5974798/how-to-find-week-of-month-for-calendar-which-starts-from-monday –

+0

나는'Math .floor ((6 + 새 날짜(). getDay())/7)'sh ould 또한 트릭을 수행합니다. – Hampus

답변

2

입니다.

내가 테스트
 function getWeekNo(date) { 

      var day = date.getDate() 

      //get weekend date 
      day += (date.getDay() == 0 ? 0 : 7 - date.getDay()); 

      return Math.ceil(parseFloat(day)/7); 
     } 

     alert(getWeekNo(new Date(2015, 2, 31))); 

, 그것은에 대한 정확한 결과를 제공 밝혀 : 네, 다섯 여섯 이상에 걸쳐 월의 첫 날은 월요일

  1. 월, 화요일 또는 일요일
  2. 개월 주
-1

Math.ceil(new Date().getDay()/7)

+0

downvote에 대한 이유가 무엇입니까? 이것은 나를 위해 정확히 원하는 기능을 달성하는 것 같습니다. – Reece

+0

No. 5 월 1 일은 0을 반환하고, 5 월 14 일은 3 대신에 2를 반환합니다. – Aserre

+0

을 추가하더라도 1. 9 월 1 일은 월요일이므로 9 월 7 일은 일요일이며 일주일에 1입니다. 함수에 따라 2 주 후 ceil을 사용하면 5 번째 주에 1이 오게됩니다. – Aserre

관련 문제