NSDate
NSDateクラスは日付と時間を管理するクラスです。
NSDateのクラス階層
NSObject
↑
NSDate
現在日付のオブジェクトを生成
// 現在時刻で生成例
NSDate *date = [NSDate date];
// 指定した日付・時刻で生成例
NSDate *date = [[NSDate alloc] initWithString:@"2010-01-01 23:59:59 +0900"];
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]];