1

如何在 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);
4

1 回答 1

3

只需使用这个:

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

您还可以使用:

– shortMonthSymbols
– veryShortMonthSymbols
– shortStandaloneMonthSymbols

在这里找到所有信息:

NSdateFormatter 指南

要获取当前年份,请使用以下命令:

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

如果您想要再过一年,只需使用不同的 NSDate。

于 2013-07-03T13:07:57.930 回答