開発メモ

開発メモ

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が返るので、そこは注意する。