2012-07-28 4 views
1

이번 주 요일 배열을 얻으려면 어떻게해야합니까?
예 : 오늘은 saturday - 28 july입니다.
배열에 '28 Saturday '가 필요합니다. 27 Friday, 26 Thursday, 25 Wednesday ... 22 Sunday?이번 주 요일을 얻는 방법?

[코드] NSCalendar * myCalendar = [[NSCalendar 할당] initWithCalendarIdentifier : NSGregorianCalendar];

NSDateComponents *currentComps = [myCalendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSWeekOfYearCalendarUnit | NSWeekdayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:weekDate]; 
int ff = currentComps.weekOfYear; 
NSLog(@"1 %d", ff); 

[currentComps setWeekday:1]; // 1: sunday 
NSDate *firstDayOfTheWeek = [myCalendar dateFromComponents:currentComps]; 
[currentComps setWeekday:7]; // 7: saturday 
NSDate *lastDayOfTheWeek = [myCalendar dateFromComponents:currentComps]; 

NSLog(@"first - %@ \nlast - %@", firstDayOfTheWeek, lastDayOfTheWeek); [code] 

나는 이런 짓을하지만, 나는 'firstDayOfWeek'이 - 2012-07-29와 'lastDayOfWeek이'- 2012-08-04 여기

+2

호기심에 관한 문제 : 왜 금주로 시작합니까? 그리고 그것은 왜 아래쪽으로 내려가는가? 블라디보스톡 출신입니까? :)) –

+3

아서,이 질문의 본질은 당신이이 문제를 직접 해결하기 위해 노력하지 않았 음을 나타냅니다. 여기있는 사람들이 너를 위해 모든 일을 할 것이라고 기대하지 않니? 지금까지 시도한 것을 보여 주시고 저를 포함하여 사람들이 기꺼이 도와 드리겠습니다. – Stavash

+0

나는 @Stavash에 동의한다. 이것은 구글에서 많은 샘플 코드를 검색함으로써 간단히 이해할 수 있어야한다. – runmad

답변

5

은 당신이 찾고있는 것입니다 - 당신은 그냥 필요 그에 따라 결과의 형식을 지정하십시오 :

NSDate *weekDate = [NSDate date]; 
NSCalendar *myCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 

NSDateComponents *currentComps = [myCalendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSWeekOfYearCalendarUnit | NSWeekdayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:weekDate]; 
int ff = currentComps.weekOfYear; 
NSLog(@"1 %d", ff); 

[currentComps setWeekday:1]; // 1: sunday 
NSDate *firstDayOfTheWeek = [myCalendar dateFromComponents:currentComps]; 
[currentComps setWeekday:7]; // 7: saturday 
NSDate *lastDayOfTheWeek = [myCalendar dateFromComponents:currentComps]; 

NSDateFormatter *myDateFormatter = [[NSDateFormatter alloc] init]; 
myDateFormatter.dateFormat = @"dd EEEE"; 
NSString *firstStr = [myDateFormatter stringFromDate:firstDayOfTheWeek]; 
NSString *secondStr = [myDateFormatter stringFromDate:lastDayOfTheWeek]; 

NSLog(@"first - %@ \nlast - %@", firstStr, secondStr); 
+0

메모리 관리를 무시하고 ARC – Stavash

관련 문제