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

NSUInteger unitFlags = NSMonthCalendarUnit | NSDayCalendarUnit;

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

これは、2つの日付の合計日数ではなく、2つの日付の2日の差を単純に示しています。dateBeginは2012年9月8日、dateEndは2012年11月10日で、結果は2です。なんで ?

4

2 に答える 2

2

ベローズラインを変更する

NSUInteger unitFlags = NSMonthCalendarUnit | NSDayCalendarUnit;

NSUInteger unitFlags = NSDayCalendarUnit;

于 2012-11-10T07:50:55.743 に答える
0
    NSDateComponents *components;
    NSInteger days;

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

私もその解決策を見つけました。

于 2012-11-10T07:55:53.930 に答える