2011-09-05 5 views
0

나는 내 애플 리케이션에서 매우 성가신 도전을했습니다. 클라이언트는 3 개의 개별 UIPicker에 Days, Hours 및 Minutes를 표시하려고합니다.이 값은 함께 시간에 반복되는 이벤트를 나타냅니다.UIPickers 문자열 검색 및 NSDate로 변환

그래서 내가 나중에 경고를 설정하고이 이벤트까지 일 수를 계산하는 데 사용할 수있는있는 NSDate에 이러한 값을 변환해야하는 등 변환하고 올바른있는 NSDate에 이러한 값을 결합하는 방법을

어떤 아이디어 .

@ "화"+ "15"+ "00"내일 (2011 년 9 월 6 일 오후 3시) 등

답변

-1

[NSString stringWithFormat : @ "% s % d % d"를 사용하여 각 값을 하나의 문자열로 결합하십시오. dayString, monthInt, yearInt]

는이 게시물에 NSDateFormatter .. 처럼를 사용


convert string to date 그래서 당신의 문제는 연도와 월 (또는 심지어 precice 일)에 대한 데이터가없는 것입니다. 사용자가 이번 달과 올해를 의미한다고 추측 할 수 있지만 모든 상황에서 올바르지는 않습니다.

UIPickers에서 얻은 것 이외에 NSDate 필요 (일, 월, 연도 및 시간대)를 수정하십시오.

@ "화"+ "15"+ "00"내일 것 또한 오후 3시 등으로 13 오후 3시 2011 9 월, 7 9 월 2021 일 수

(오후 3 6 9 월 2011) ..

항상 다음 날이 확실한 경우가 아니면 정확한 날짜가 아닙니다!

한 달의 첫 번째 날에 월요일을 선택하면 4 ~ 5 개의 월요일이 가능합니다. 첫 번째 달 - 12 개월. 그 다음 년 ..

그러나 다음 가능한 날짜가 "정확합니다": 오늘 날짜를 가져 와서 (월, 연도, 시간대) 필요한 항목을 가져옵니다.

오늘부터 일치하는 요일 이름이 발견 될 때까지 까지 반복하고 같은 해에 있는지 확인하십시오.

그래서 올해의 마지막 날인 23:59에 dayname + time을 선택하면 그 다음 올바른 날짜는 내년입니다. (NSDateComponents는 유효한 날짜를 얻고 +1 년 등을 추가하는 데 유용 할 수 있습니다.).

+0

는 선택기에서 어떤 일 월 또는 연도가 없습니다 .. 그러나 그들은 정확한 날짜를 얻을 수 있도록 나는 그들이 다른 선택기와 함께 살 수 있는지 물어보십시오 것 - 항상

불가능

클라이언트를 설득한다. 그 날의 이름, 시간, 분. – TheLearner

+0

예. 감사합니다. 고객에게 물어볼 것입니다. 정말 많은 노력이 필요합니다. 어쩌면 달력 일 수도 있습니다. – TheLearner