※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

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;
}