browser icon
You are using an insecure version of your web browser. Please update your browser!
Using an outdated browser makes your computer unsafe. For a safer, faster, more enjoyable user experience, please update your browser today or try a newer browser.

日付を指定してNSDateを作成する方法と日付の比較 – iPhone開発メモ

logo_iPhone
Posted by on 2013年6月15日

入力された日付が特定の日付よりも新しいかを調べるたいことがありましたので、その方法をメモします。

【特定の日付を指定してNSDateを作成】

まず、特定の日付を指定してNSDateを作成します。

// NSCalendar を取得
NSCalendar* calendar = [NSCalendar currentCalendar];
// NSDateComponents を作成して情報を設定

NSDateComponents* components = [[NSDateComponents alloc] init];

components.year = 2011;

components.month = 10;

components.day = 5;

// NSCalendar でNSDateComponents を NSDate に変換

NSDate* specialDate = [calendar dateFromComponents:components];

【日付の比較】

作成したNSDateを使って、下記の方法で日付の比較が出来ます。

// 2つの日付を準備

NSDate *currentDate = [NSDate date];// 現在の日付を取得

NSDate *compareDate  = specialDate;// 先ほど作成した日付

// 日付を比較

NSComparisonResult result = [currentDate compare:compareDate];

switch(result) {

case NSOrderedSame: // 一致したとき

NSLog(@"同じ日付です");

break;

case NSOrderedAscending: // currentDateが小さいとき

NSLog(@"異なる日付です(currentDateのが小)");

break;

case NSOrderedDescending: // currentDateが大きいとき

NSLog(@"異なる日付です(currentDateのが大)");

break;

}

Comments are closed.