NSDate(日付の生成・比較)
NSDateでいつも調べていることをまとめておく
日付の生成
NSDate *now = [NSDate date]; // 現在時刻を設定 NSDate *date = [NSDate dateWithString:@"2013-12-19 20:30:00 +0900"]; // 文字列で時間を設定 // フォーマットが間違っているとnilが返ってくる、日付のデリミタは"-"のみ。
日付の比較
NSDate *earlierDate = [date1 earlierDate:date2]; // 早い日付が返ってくる (date2にnilが渡された時は、date1が返る) NSDate *laterDate = [date1 laterDate:date2]; // 遅い日付が返ってくる BOOL isEqual = [date1 isEqualToDate:date2]; // Date1とDate2が同じ日付(タイムゾーン含む)の場合YES NSComparisonResult result = [date1 compare:date2] // date1とdate2が同じ日付の場合 NSOrderedSameが返る // date1の方が未来の場合 NSOrderedDescendingが返る // date1の方が過去の場合 NSOrderedAscendingが返る
※ compare:メソッドは、date2にnilが渡された時にNSOrderdSameが返るので、そこは注意する。