如何在列表中获得一年中的所有月份

时间:2013-07-03 13:00:02

标签: iphone ios

如何在UITableView的列表中获取一年中的所有月份。我希望在一个数组中获得一年中的所有月份,以便我在表格视图中显示。我这样做是为了获得一周的约会。

 NSCalendar* calendar = [NSCalendar currentCalendar];// Init calendar
NSDateComponents* comps = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSWeekCalendarUnit|NSWeekdayCalendarUnit fromDate: date]; // Get necessary date components

NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE, dd"];
// Week days change from 1 to 7, Sunday is the 1st, Saturday - the last one.
for (int i = 1; i <= 7; i++){
    [comps setWeekday:i];
    NSDate *tDate = [calendar dateFromComponents:comps];
    // NSString *day=[dateFormatter stringFromDate:tDate];
    [self.mArrDates addObject:tDate];

}
NSLog(@"dates for week%@", self.mArrDates);

1 个答案:

答案 0 :(得分:3)

请使用:

NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease];
myArray = [df monthSymbols];

您也可以使用:

– shortMonthSymbols
– veryShortMonthSymbols
– shortStandaloneMonthSymbols

在此处查找所有信息:

NSdateFormatter Guide

要获得当前年份,请使用:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy"];
NSString *yearString = [formatter stringFromDate:[NSDate date]];
[formatter release];

如果您想要另一年,请使用其他NSDate。