0

我计算两个日期之间差异的方式是

NSCalendar *calendar            =   [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

NSDateComponents *nowAndEnd     =   [calendar components:NSMonthCalendarUnit|
                                                        NSDayCalendarUnit|
                                                        NSMinuteCalendarUnit
                                                fromDate:now
                                                  toDate:end
                                                 options:0];


NSLog(@"nowAndEnd's day is %d",nowAndEnd.day);
NSLog(@"nowAndEnd's month is %d",nowAndEnd.month);

我回来了

 nowAndEnd's day is 15
 nowAndEnd's month is 1

问题是我如何根据这些信息计算天数。我问是因为有些月份有 30 天,有些有 31 天...

4

1 回答 1

3

您所做的是正确的,但如果您希望仅在几天内执行计算,只需NSDayCalendarUnit单独使用:

NSDateComponents *nowAndEnd = [日历组件:NSDayCalendarUnit
                                                从日期:现在
                                                  到日期:结束
                                                 选项:0];

答案将直接计算到天数。

于 2013-03-14T20:34:21.737 回答