Objective c 如何获取当前周的天数?

Objective c 如何获取当前周的天数?,objective-c,ios,ipad,Objective C,Ios,Ipad,如何获取当前周的天数数组? 例如,今天是7月28日星期六 我需要带有“28周六”、“27周五”、“26周四”、“25周三”的数组22周日 [code]NSCalendar*myCalendar=[[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar] NSDateComponents *currentComps = [myCalendar components:( NSYearCalendarUnit | NSMonth

如何获取当前周的天数数组?
例如,今天是7月28日星期六 我需要带有“28周六”、“27周五”、“26周四”、“25周三”的数组<代码>22周日

[code]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];

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

我这样做了,但我有'firstDayOfWeek'-2012-07-29和'lastDayOfWeek'-2012-08-04

以下是您要查找的内容-您只需要相应地格式化结果:

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);

以下是您要查找的内容-您只需相应地格式化结果:

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);

只是好奇:为什么你现在的一周从周五开始?为什么会向下(下降)?你是海参崴人吗?:)Arthur,这个问题的本质表明你自己没有做任何努力来解决这个问题。你不希望这里的人为你做所有的工作,是吗?请向我们展示您迄今为止所做的尝试,我相信人们会很乐意提供帮助,包括我。我同意@Stavash的观点,这应该很简单,只需在谷歌上搜索一下,就可以找到很多示例代码。感谢您的编辑,请查看我的解决方案。好奇的是:为什么您的本周从周五开始?为什么会向下(下降)?你是海参崴人吗?:)Arthur,这个问题的本质表明你自己没有做任何努力来解决这个问题。你不希望这里的人为你做所有的工作,是吗?请向我们展示您迄今为止所做的尝试,我相信人们会乐于提供帮助,包括我。我同意@Stavash的观点,这应该很简单,只需在谷歌上搜索,就可以找到很多示例代码。感谢您的编辑,请查看我的解决方案。