2013-03-11 4 views
3

내가 일하고있는 시스템의 경우, 표준 주 숫자와 똑같이 작동하는 "2 주간 전화 번호"가 있어야합니다.이 번호는 7 일 대신 14 일마다 만 넘깁니다."주 번호"는 날짜에 따라 어떻게 계산됩니까?

다른 말로하면, 코드에서 알고리즘을 찾고 날짜에서 주 번호를 계산하고 시작 및 종료 날짜에 일년과 주 번호를 지정합니다.

문제는 1 년 중 1 주일이 일반적으로 1 월 1 일이 아니며 지난 12 월 일 수도 있다는 점에서 비롯된 것입니다. 이 때문에 53 주를 보냈던 해가 있습니다.

예를 들어

:

  • 주 1 2009 따라서 2009 2010-01-03
  • 에 2009-12-28에서 일주일에 53 번을했다 2008 -12-29
  • 시작
  • Week 1 2010 시작됨 2010-01-04

이 숫자들은 어떻게 파생됩니까?

답변

2

이 숫자들은 어떻게 유도됩니까?

2.2.10 일정 : 당신이 사용중인 시스템에 따라 달라집니다,하지만 당신은 다음과 같이 정의 된 ISO-8천6백1주 번호, 후있어 의심

음, 주 번호

년의 첫 번째 달력 주 첫 번째 목요일 그 해의 것을 포함 하나 인 규칙에 따라 해당 연도 내에서 달력 주를 식별

서수 달력 연도의 마지막 달력 주 첫 번째 달력 주 바로 이전 주

ISO-8601의 1 주일은 월요일에 시작하여 일요일에 끝나기 때문에 "첫 번째 목요일"규칙을 표현하는 또 다른 방법은 그 해의 첫 번째 주를 새해의 적어도 4 일을 포함하는 첫 번째 주.

또 다른 중요한 점은 "주 올해의 주"를 사용하여 값을 표현 할 때, 당신은 하지 일반 년은 "주 년"자체뿐만 아니라를 사용할 필요가있다. 그래서 2010 년 1 월 3 일 일요일에 이것을 "주 53, 주 2009, 주중 일요일"로 표현할 수 있습니다. "올해의 잘못된 유형"을 사용하고 12 월 말과 1 월 초에 가치를 엉망으로 만드는 것은 너무 쉽습니다.

+0

멋지다. 나는 일종의 신기원을 바탕으로 어떻게 정의 될 수 있었으면 좋겠다. 이것은 내가 예상했던 것보다 1 년 단위로 훨씬 더 안정적입니다 ... 이것을 "2 주년 숫자"로 옮기는 방법에 대한 아이디어가 있습니다. 내가 이상한 출발을 1 년 동안 끝낼 수 있을까요? 감사합니다. –

+1

@DanielMagliola : 아니요, 스스로 정의 할 필요가 있습니다. 또는 구체적인 요구 사항 집합에 대해이 작업을 제공 한 사람에게 물어보십시오. –

+0

2 주 동안의 계산에 대한 한 가지 생각은 사용중인 "캘린더"에 따라 2 주마다 다르게 정의해야한다는 것입니다. 이 경우, "week year"달력을 사용하면 실제로 2 주일을 계산하는 것이 실제로 쉽습니다.어려움은 연도 경계가 "정상적인"달력과 "주년"달력에서 서로 다르기 때문에 연도 경계와 관련하여 "정상적인"달력에 명확하게 매핑되지 않는다는 것입니다. – cdeszaq