我想知道Objective-C中使用NSCalendar的一个月内所有星期一的日期。所以请帮帮我。
提前致谢
答案 0 :(得分:1)
几个月前我为此写了一个解决方案
答案 1 :(得分:0)
来自https://discussions.apple.com/thread/1700102?start=0&tstart=0和Apple NSCalendar参考:
如何使用这样的东西 -
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setYear:1965]; // Year of the calendar month
[comps setMonth:1]; // Month
[comps setDay:6]; // Any day
NSDate *date = [gregorian dateFromComponents:comps];
[comps release];
然后,一旦你有了NSDate,就这样做:
NSDate * testDate = [NSDate date];
NSString * weekdayString = [testDate descriptionWithCalendarFormat:@"%A" timeZone:nil
locale:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]];
NSLog(@"Day of the week: %@", weekdayString);
// weekdayString should look like "Monday", etc.
所以,你可以循环一个月的日子,直到;
[weekdayString isEqualToString:@"Monday"] // or your desired day
然后再添加7天来获得其他4个左右的日期。
这可能不是最漂亮的解决方案,但它应该有效。