将当前和未来日期添加到数组

时间:2013-02-22 17:07:05

标签: objective-c cocoa nsmutablearray nsdate

我正在创建自定义类型日历,我正在尝试查看是否可以在数组中存储日期而不静态分配每个日历。例如,数组中的第一个日期将是它第一次创建的那一天,并且它将保存下一周,让我们进入数组中的相关索引。

NSMutableArray *thisWeek = [today, tomorrow, sunday(Feb 24), monday (Feb 25), etc];

存储未来日期的最佳方式是什么?

3 个答案:

答案 0 :(得分:1)

NSMutableArray *days;
days = [[NSMutableArray alloc] init]; 

NSDate *todayDate = [NSDate Date];
[days addObject:todayDate]; 

for (int i = 1; i <= 6; i++) 
{
    NSDate *newDate = [[NSDate date] dateByAddingTimeInterval:60*60*24*i];

    [days addObject:newDate];

} 

通过这种方式,您可以在数组中添加天数。

答案 1 :(得分:1)

NSMutableArray *days = [[NSMutableArray alloc] init]; 
NSCalendar *cal = [NSCalendar autoupdatingCurrentCalendar];
NSDateComponents *tempCop = [cal components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit
                                   fromDate:[NSDate date]];
NSDate *today = [cal dateFromComponents:tempCop];

for (int i = 0; i < 8; i++) 
{
    NSDateComponents *comps = [[NSDateComponents alloc]init];
    [comps setDay:i];
    [days addObject:[cal dateByAddingComponents:comps toDate:today options:0]];     
}

答案 2 :(得分:0)

查看dateByAddingTimeInterval:文档(link)中的NSDate。它允许您为日期添加给定的秒数。

相关问题