差异日期:总天数

时间:2012-11-10 07:48:40

标签: objective-c

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

NSUInteger unitFlags = NSMonthCalendarUnit | NSDayCalendarUnit;

NSDateComponents *components = [gregorian components:unitFlags
                                            fromDate:dateBegin
                                              toDate:dateEnd options:0];
totalDays = [components day];

这不是给出了两个日期之间的总天数,而是两个日期的两天之间的差异。它dateBegin是2012年8月8日,dateEnd是2012年10月10日,结果是2!为什么?

2 个答案:

答案 0 :(得分:2)

更改您的波纹管线

  

NSUInteger unitFlags = NSMonthCalendarUnit | NSDayCalendarUnit;

  

NSUInteger unitFlags = NSDayCalendarUnit;

答案 1 :(得分:0)

    NSDateComponents *components;
    NSInteger days;

    components = [[NSCalendar currentCalendar] components: NSDayCalendarUnit 
    fromDate: startDate toDate: endDate options: 0];
    days = [components day];

我也找到了解决方案。