2016-07-23 6 views
0

Jquery UI datepicker에서 해당 월의 주 번호 (1,2,3,4,5)를 가져 오려고합니다. 나는 정상적인 주 번호가 아니고 iso8601Week의 코드를 봤다. Jquery UI datepicker에서 일반 주 번호 가져 오기

친절하게 내가했습니다하지만 단지 연기를 테스트하고 해결해야 좀 더 에지 조건은 아마도 거기,

답변

1

이 당신이 원하는 무엇을 당신이 가까운 제공해야합니다 도움이됩니다.

나는 기본적으로 달의 첫 번째 날의 iso8601Week을 가져 와서 선택된 날짜의 값에서 뺍니다. 그것은 대부분의 날짜에서와 같이 작동하지만 ISO 8601은 목요일 이전에 떨어지면 1 월 4 일 전날에 일을 기록합니다. 에 당신이 주변에 수리를 할 수 있도록

$('#testDate').datepicker({ 
    onSelect: function(dateText, inst) { 
     var d = new Date(dateText); 
     var d1 = new Date(d.getFullYear(), d.getMonth(), 1) 
     var x = $.datepicker.iso8601Week(d) % 52; 
     var y = $.datepicker.iso8601Week(d1) % 52; 
     $('#label1').text(x-y+1); 
    } 
}); 

내가 그들에 부분적인 결과 모든 변수에 남아 그 코드는 testDate라는 입력 및 레이블이라는 LABEL1을 가정 52

이 %의 이유 값. 이 코드에서는 월요일 (ISO 8601 표준)에서 주를 시작하고 월요일보다 일주일 전의 부분 주를 1 주라고 가정합니다. 따라서 월이 월요일에 시작하면 첫 번째 월요일은 1 번째 주에 있고, 다른 어느 날에 시작됩니다. 첫 번째 월요일은 주 2에 시작됩니다. 두 번째 달이 월요일에 있고 2 번째 주에도 조금 이상하게 보입니다.하지만 그다지 좋지 않으면 몇 시간을 보내야합니다. 시간을 구체적으로 결정하면 처럼됩니다.

+0

고마워요, 정확히 제가 찾는 것입니다. 그것은 ISO 8601 표준에 따라 작동합니다. 2016 년 5 월에 6 주 동안 테스트했는데 완벽하게 작동했습니다. – user375947

+0

다행스럽게 생각합니다. 하지만 제가 제안 할 수 있다면, 1 월과 12 월의 주간을 완전히 시험해 볼 것입니다. – BobRodes