2009-11-16 2 views
12

그래서 원격 응용 프로그램을 예약하고 자동 다이얼링하는 응용 프로그램에서 UIDatepicker를 구현했습니다. 테스트 중에는 날짜가 12 월 26 일에서 12 월 27 일로 바뀌면 올해는 다음과 같이 바뀝니다. 2010.iPhone Date Picker가 12 월 27 일에 2010 년으로 이전됩니까?

나는 심지어 12 월 25 일이 26 번째로 바뀔 때 ... ... 그러나 2012 년에는 12 월 31 일부터 1 월 1 일까지 올바르게 바뀝니다. 그리고 나서 2013 년 29-30 일로 돌아 간다. 내가 알고있는 어떤 종류의 천문학적 현상이 있을까, 아니면 내가 모르는 미친 Heechee 캘린더에서 애플이 움직일 것인가? 캘린더 응용 프로그램이 제대로 작동합니다 ...

가장 확실한 설명은 내가 깨닫게 될 때 너무 당연한 것입니다. 그러나, 헤이, 나는 잤지 않았다. .. 와우. 나는 그것이 2 일 또는 3 일 이었는지 기억하지 않고있다. 동정을 받아 여기에서 나를 도와주세요.

업데이트 : 어쩌면 단순하지 않을 수도 있습니다. 아직도 대답을 찾고 있습니다! 나는 이것을 경험 한 유일한 사람인가? 나는 12 월말이 끝나면 더 많은 사람들이 같은 장애물을 맞을 것입니다.

업데이트 2 : 아무나? 여전히 찾고, 아직 찾지 못했습니다 ...

UPDATE3 : 아직 해결책을 찾지 못했습니다. 어서! 이것은 흥미로운 퍼즐입니다!

UPDATE4 : 아직 답변이 없습니다. 앱을 제출했는데 현재 앱 스토어에 있습니다. 여전히이 문제가 해결되어 앱을 업데이트 할 수 있습니다.

+0

UIDatePicker에 대해 어떤 캘린더를 설정 했습니까? currentCalendar 또는 autoupdatingCurrentCalendar를 사용하고 있습니까? 거기에 뭔가 잘못되었을 수도 있습니다. –

+0

좋은 생각. 그러나 나는 방금 그 두 가지를 모두 시험해 보았고 둘 다 같은 날 롤 오버했다. 다른 아이디어? – Taylor

+0

해당 구성 요소를 사용하는 앱을 소유하고 있습니까? 그것은 그들을 위해 올바르게 작동하고 있습니까? –

답변

3

이번 달의 마지막 주에 7 월이 남았을 때 API가 해당 주를 다음 달의 첫 번째 주로 간주했을 수 있습니다. 2012 년 12 월이 지난 주에 이미 7 일이 지나면 그 달에는 문제가 없습니다.

여기에도 같은 문제가 발생했습니다. 해결했습니다.

- (int) currentWeekOfMonth 
{ 
    return CFCalendarGetOrdinalityOfUnit (
      CFCalendarCopyCurrent(), 
      kCFCalendarUnitWeek, 
      kCFCalendarUnitMonth, 
      [self absoluteTime]); 
} 

내 요구 사항은 주 번호를 표시하는 것입니다 이것을 위해 나는 첫 달의 주와 달에 일주일의 총 수에 추가 이것의 주 번호를 계산합니다.

int currentWeekNumberInYear = [_calendarInfo currentWeekOfYear]; 
int currentWeekNumberInMonth = [_calendarInfo currentWeekOfMonth]; 
currentWeekNumberInYear = currentWeekNumberInYear-currentWeekNumberInMonth +1; 
currentWeekNumberInYear = currentWeekNumberInYear<0 ? (NSInteger)[_calendarInfo weeksInMonth] ==5 ?49:48 : currentWeekNumberInYear; 

나는 당신에게 유용 할 것입니다.

+0

좋은 아이디어! 아쉽게도 코드에서 확인하고 무슨 일이 일어나는 지보십시오. – Taylor

+0

이것은 나를 위해 일했습니다! 도와 주셔서 감사합니다! – Taylor

3

나에게 원인이되는 NSDateFormatter를 설정하는 데 사용 된 날짜 형식 문자열을 나타냅니다.

"yyyy"는 4 자리 연도에 해당하며, YYYY는의 첫 번째 주 일요일부터 시작하여 에 해당합니다. 왜 누군가는 이것이 누구나 추측하기를 원할 것입니다. 애플이 형식 지정자 목록에 링크를 제공하면 도움이 될 것입니다.

형식 문자열의 연도 구성 요소가 소문자인지 확인하고 정렬해야합니다.

관련 문제