日時オブジェクトから年月日や時分秒、曜日をとりだしたい

NSDate *date = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *comps;

// 年月日をとりだす
comps = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) 
					fromDate:date];
NSInteger year = [comps year];
NSInteger month = [comps month];
NSInteger day = [comps day];
NSLog(@"year: %d month: %d, day: %d", year, month, day);
//=> year: 2010 month: 5, day: 22

// 時分秒をとりだす
comps = [calendar components:(NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit)
					fromDate:date];
NSInteger hour = [comps hour];
NSInteger minute = [comps minute];
NSInteger second = [comps second];
NSLog(@"hour: %d minute: %d second: %d", hour, minute, second);
//=> hour: 18 minute: 24 second: 31

// 週や曜日などをとりだす
comps = [calendar components:(NSWeekCalendarUnit | NSWeekdayCalendarUnit | NSWeekdayOrdinalCalendarUnit)
					fromDate:date];
NSInteger week = [comps week]; // 今年に入って何週目か
NSInteger weekday = [comps weekday]; // 曜日
NSInteger weekdayOrdinal = [comps weekdayOrdinal]; // 今月の第何曜日か
NSLog(@"week: %d weekday: %d weekday ordinal: %d", week, weekday, weekdayOrdinal);
//=> week: 21 weekday: 7(日曜日) weekday ordinal: 4(第4日曜日)