getting current hour, minutes and seconds in iPhone

datetime, iphone, time, timestamp, timezone

Solution

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

Problem

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.

Original source