開始日から今日までの日数を計算する方法のメモ

(iOS 5で試しています。)

ポイント

・NSCalendar 

・NSDateComponents

今日までの日数をログ出力するサンプルコード

(ViewController.mに実装。)

– (void)viewDidLoad

{

    [super viewDidLoad];

    

    // 開始日

    long twoWeeks = – 14 * 24 * 60 * 60;

    NSDate *start = [NSDate dateWithTimeIntervalSinceNow:twoWeeks];

    

    

    NSCalendar *calendar = [NSCalendar currentCalendar];

    

    // 2週間前

    NSDate *from;

    [calendar rangeOfUnit:NSDayCalendarUnit startDate:&from interval:NULL forDate:start];

    

    //

    NSDate *to;   

    [calendar rangeOfUnit:NSDayCalendarUnit startDate:&to interval:NULL forDate:[NSDate date]];

    

    // 差分

    NSDateComponents *dif = [calendar components:NSDayCalendarUnit fromDate:from toDate:to options:0];

    

    

    NSLog(@”%d”, [dif day]);

}