views:

160

answers:

1

Hi!

How can I get the current hour, minutes, and seconds from this?

NSDate *now = [NSDate date];

Thanks! I want to have 3 int variables with the values stored in them, not a string which displays the values.

+5  A: 

You need to use NSDateComponents, which is a bit tricky (not to mention verbose!) since you need to understand a bit about the way Cocoa handles calendars. There's a great intro in the docs; here's a modified excerpt:

NSDate *today = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc]
                         initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components =
                    [gregorian components:(NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:today];

NSInteger hour = [components hour];
NSInteger minute = [components minute];
NSInteger second = [components second];
Jesse Beder