iPhoneアプリ開発の虎の巻
HOME > NSDate

NSDate

NSDateクラスは日付と時間を管理するクラスです。

NSDateのクラス階層

NSObject ↑ NSDate

現在日付のオブジェクトを生成

// 現在時刻で生成例
NSDate *date = [NSDate date];

// 指定した日付・時刻で生成例
NSDate *date = [[NSDate alloc] initWithString:@"2010-01-01 23:59:59 +0900"];

NSDateのメソッド

【NSDateの主要メソッド】
メソッド名 説明
-(NSString*)description 日付を文字列にして返す
(例)NSDate型をNSString型で取得する
 NSString *str = [date description];
-(NSDate*)earlierDate:
(NSDate *)anotherDate
日付を比較して過去の日付を返す
(例)date1とdate2を比較し過去の方を取得する
 NSDate *d = [date1 earlierDate:date2];
-(BOOL)isEqualToDate:
(NSDate*)anotherDate
同じ日付かどうかの判定
(例)date1とdate2が同じであるかどうかを比較する
 BOOL b = [date1 isEqualToDate:date2];
+(id)dateWithTimeIntervalSinceNow:
(NSTimeInterval)seconds
現在時刻から指定した秒数だけ前後した時刻を取得する
(例)現在時刻の7日後を取得する
 NSDate *d =
  [NSDate dateWithTimeIntervalSinceNow:86400*7];

主要なメソッドのみ掲載しています。
 上記「NSDateのクラス階層」にあるクラスのメソッドも使用できます。

NSDateFormatterを使用したキャスト

NSDateFormatterクラスを使用すると、日付を任意の形式の文字列で取得できます。

// NSDate型を「yyyy/MM/dd HH:mm:ss」形式の文字列として取得する
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateFormat  = @"yyyy/MM/dd HH:mm:ss";
NSString *str = [df stringFromDate:[NSDate date]];
totop