Objective-C NSDateを使って日付を扱う
Objective-Cで日付を管理するのはNSDateクラスです。
Javaのnew Dateみたいに、インスタンスを作った時に現在時刻のデータが入ってきます。
今回はNSDateのメソッドを使って、以下の処理(メソッド)をみていきます。
- 日付を文字列にして返す
- 指定した文字列から時刻データを生成する
- 指定した文字列から時刻データを生成する
- 日付と時刻を比較して、古い方の日付を返す
- 日付と時刻を比較して、新しい方の日付を返す
- 同じ日付と日時であるか調べ、BOOL型で返す
結果はコメントにして、NSLogの横に書いています。
int main(int argc, const char * argv[]) { @autoreleasepool { //日付を文字列にする NSDate *date = [[NSDate alloc] init]; NSLog(@"%@",[date description]); //2014-09-24 13:15:50 +0000 //指定した文字列の時刻データの生成する NSDate *date2 = [[NSDate alloc] initWithString:@"2014-07-07 10:00:00 +0000"]; NSLog(@"%@",[date2 description]); //2014-07-07 10:00:00 +0000 //日付と時刻を比較して、古い方の日付を返す NSDate *early = [date earlierDate: date2]; NSLog(@"%@",early); //2014-07-07 10:00:00 +0000 //日付と時刻を比較して、新しい方の日付を返す NSDate *later = [date laterDate: date2]; NSLog(@"%@",later); //2014-09-24 13:15:50 +0000 //同じ日付と日時であるか調べ、BOOL型で返す BOOL *isEqual = [date isEqualToDate: date2]; NSLog(@"equal? 1:yes,0:no ... %d",isEqual); //equal? 1:yes,0:no ... 0 //不安だからもう一度、今度は等しいパターンで BOOL *isEqual2 = [date isEqualToDate: date]; NSLog(@"equal? 1:yes,0:no ... %d",isEqual2); //equal? 1:yes,0:no ... 1 } return 0; }
以上です。