我有以下问题:我需要在特定日期之后的每个工作日创建一个NSMutabeArray。
这看起来应该是:
我怎么能这么做?我认为这与NSCalendar有关,但我找不到正确的解决办法.你能帮我一下吗?
提前谢谢你
FFraenz
发布于 2010-10-28 15:18:42
这是一个无穷级数;NSMutableArray只能容纳有限的集合。
无论如何,你只需要一个成员的系列,如2010-10-28。在那之后的星期四,再加一个星期。要获得该系列中的第三个日期,请在第二个约会中添加一个星期,或者在第一个约会中添加两个星期。有了该系列的任何成员,您就可以访问该系列的任何其他成员。
如果您从一个不是正确工作日的日期开始,获取该日期的日期组件,将正确的工作日和它必须的工作日之间的差额添加到它的月份的日期,并将修改后的日期组件转换回一个日期。然后,这一日期将在同一周理想的工作日。
发布于 2010-10-28 14:45:34
有实际日期:
NSDate *today = [[NSDate alloc] init];增加一周:
NSDate *nextDate = [today dateByAddingTimeInterval:60*60*24*7];然后可以迭代并创建数组:
NSMutableArray* dates = [[NSMutableArray alloc] init];
NSDate *date= [[NSDate alloc] init];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
[offsetComponents setWeek:1];
for (int i=0;i<10;i++) {
NSDate *nextDate = [gregorian dateByAddingComponents:offsetComponents toDate:date options:0];
[dates addObject:date];
[date release];
date = nextDate;
}
[date release];https://stackoverflow.com/questions/4043497
复制相似问题