计算天数,nsdate,ios

时间:2013-03-14 20:22:35

标签: ios objective-c nsdate nsdatecomponents

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

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天......

1 个答案:

答案 0 :(得分:3)

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

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

答案将直接计算为天数。