2014-07-22 2 views
0

미국식 형식으로 주 번호를 얻는 방법. 이 코드를 시도했지만 올바르지 않습니다.자바 스크립트 getWeekNumber 함수

Date.prototype.getWeekNumber = function (date) { 
         var d = new Date(date); 
         d.setHours(0, 0, 0); 
         d.setDate(d.getDate() + 4 - (d.getDay() || 7)); 
         return Math.ceil((((d - new Date(d.getFullYear(), 0, 1))/8.64e7) + 1)/7); 
        }; 
+1

'주'의 주 번호와 비교하여 미국 주별 수치가 정확히 다른 것은 무엇입니까? 이 질문은 비슷한 것 같습니다 : http://stackoverflow.com/questions/7765767/show-week-number-with-javascript – MeanGreen

+0

@MeanGreen과 동의 –

+1

http://www.onlineconversion.com/day_week_number.htm이 사이트를 방문하여 pls는 2014 년 9 월 12 일에 입장합니다. 그것은 미국 스탠드 라드 주 숫자로 36을주고 ISO로 37를 줄 것이다. – rajmohan

답변

0

다소 까다 롭습니다. 올해의 첫 번째 주는 올해의 첫 번째 목요일부터 시작됩니다. 그래서 실제로, 주어진 날짜에 그 해에 통과 한 목요일 수를 계산해야합니다. 주 1 반면 2004 년 (2004W01)의 https://en.wikipedia.org/wiki/Week_number#Week_numbering 예를 들어

, 주 1은 목요일 2004 년 1 월 1했기 때문에 2004 년 1 월 일요일 4 월요일 (29) 2003 년 12 월 실행 :

은 위키 백과에서 발췌 2005 년 1 월 3 일 월요일부터 2005 년 1 월 9 일 일요일까지 2005 년 1 월 6 일 목요일이었고 2005 년 첫 번째 목요일 이었기 때문에 2005 년 1 월 3 일 월요일부터 2005 년 1 월 9 일 일요일까지 2005 년 (2005W01) 실행되었습니다. 2004).