Manuel Araoz
Manuel Araoz

Reputation: 16406

getting current hour, minutes and seconds in iPhone

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.

Upvotes: 8

Views: 6751

Answers (1)

Jesse Beder
Jesse Beder

Reputation: 34034

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] autorelease];
NSDateComponents *components =
                    [gregorian components:(NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:today];

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

Upvotes: 19

Related Questions