int main(int argc, char *argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
//
// 現在時間を取得 : NSDate は不変クラス.
//
NSDate* nowDate = [NSDate date];
NSLog(@"base val %f, %@", [nowDate timeIntervalSinceReferenceDate], [nowDate description]);
// クラスメソッドを使っても取得できる : 2001.1.1 からの時間.
NSTimeInterval nowTime = [NSDate timeIntervalSinceReferenceDate];
// この値から、NSDate を復元できる.
NSDate* retDate = [NSDate dateWithTimeIntervalSinceReferenceDate:[nowDate timeIntervalSinceReferenceDate]];
NSLog(@"recovery val %f, %@", [retDate timeIntervalSinceReferenceDate], [retDate description]);
//
// NSDate は、そのままでは日時などを文字列でしか取得できない.
// なので、扱いやすい NSDateComponent に変換してやる.
//
// 変換する項目をフラグで指定してやる. ここでは 年月日時分 を変換している.
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit;
NSDateComponents* comp = [[NSCalendar currentCalendar] components:unitFlags fromDate:nowDate];
printf("year : %d\n", [comp year]);
printf("month : %d\n", [comp month]);
printf("day : %d\n", [comp day]);
printf("hour : %d\n", [comp hour]);
printf("minute : %d\n", [comp minute]);
[pool release];
return 0;
}
最終更新:2009年01月12日 17:57