NSDate和NSCalendar:有没有第二天的功能?

时间:2015-01-30 15:47:34

标签: ios nsdate nscalendar

鉴于NSDate,我想计算接下来的n天

日历对象是否有办法获取次日组件?通过这种方式,我可以编写一个递归函数来获取下一个n NSDates而无需编写我自己的“第二天”函数。

例如:如果今天是2月28日,我不想写一个算法来计算今天+ 3天,并根据年份类型获得3月3日或3月2日。我希望有一个类似于:get_next_day的日期。

到目前为止,这是我的代码:

NSDate * now = [NSDate date];
NSCalendar * calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:now];

NSInteger day = [components day];
NSInteger month = [components month];
NSInteger year = [components year];

// Is there a way to get the next day without having to breakdown the components and compute it myself?

1 个答案:

答案 0 :(得分:0)

您需要通过日期组件来完成。所以,

components.day = components.day + 1;
newDate = [[NSCalendar currentCalendar] dateFromComponents:components];