나는 학생 일정을 작성 중이며 문제가 있습니다. 나는 현재 주와 다음주의 배열을 가질 필요가있다. 그래서 만약 오늘 11 월 11 일 화요일이라면 나는 어떻게 든 할 필요가있다. 10.11 화요일 11.11 화요일 12.11 목요일 13.11 금요일 14.11과 다음 주 같은 날에 날짜가있다. 이 기능은 사용자가 요일을 선택하고 오늘 일정을 잡을 수있을 때 내 프로그램에서해야하는 기능입니다. 나는 스택 오버 플로우를 보았지만 모든 솔루션은 정확하지 않았습니다. 너 나 좀 도와 줄 수있어? 여기 내 시도 중 일부입니다.주중 일주일에
NSDate *now = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDate *beginningOfThisWeek;
NSDate *beginningOfNextWeek;
NSTimeInterval durationOfWeek;
[calendar setFirstWeekday:3];
[calendar rangeOfUnit:NSCalendarUnitWeekOfMonth
startDate:&beginningOfThisWeek
interval:&durationOfWeek
forDate:now];
beginningOfNextWeek = [beginningOfThisWeek dateByAddingTimeInterval:durationOfWeek];
NSDate *date = beginningOfThisWeek;
NSMutableArray *dateArray = [@[] mutableCopy];
while (![beginningOfNextWeek compare:date] == NSOrderedSame) {
[dateArray addObject:date];
NSDateComponents *comps = [calendar components:NSUIntegerMax fromDate:date];
comps.day +=1;
date = [calendar dateFromComponents:comps];
}
NSLog(@"%@",dateArray);
NSLog(@"%@",now);
하지만 로그에 내가 뭔가 얻을 :
2014-11-11 18:37:29.479 StudentSchedule[3964:436389] ( "2014-11-10 22:00:00 +0000", "2014-11-11 22:00:00 +0000", "2014-11-12 22:00:00 +0000", "2014-11-13 22:00:00 +0000", "2014-11-14 22:00:00 +0000", "2014-11-15 22:00:00 +0000", "2014-11-16 22:00:00 +0000"내가 날짜가
하지만, 7, 그리고 난 매우 중요 평일의 이름이 없습니다. 제 질문은 매우 간단하다는 것을 압니다. 그러나 나는 올바른 대답을 찾는 것에 지쳐 있습니다.
'dateByAddingTimeInterval'을 사용하기 전에'durationOfWeek'에서 48 시간을 뺍니다. –
어떻게해야합니까? 2 NSTimeInterval을 추가 하시겠습니까? – SpencerReid
'NSTimeInterval'은'double'의 또 다른 이름입니다. 몇 초를 나타냅니다. '48 * 60 * 60'을 빼면, 약 2 일을 빼서 일주일이 끝날 때 올바른 달력 날짜에 도착하게됩니다. –