получить текущий час, минуты и секунды в iPhone - PullRequest
8 голосов
/ 02 марта 2010

Как я могу получить текущий час, минуты и секунды из этого?

NSDate *now = [NSDate date];

Спасибо! Я хочу иметь 3 переменные типа int со значениями, хранящимися в них, а не строку, которая отображает значения.

Ответы [ 2 ]

19 голосов
/ 02 марта 2010

Вам нужно использовать NSDateComponents, что немного сложно (не говоря уже о многословности!), Поскольку вам нужно немного понять, как Какао обрабатывает календари. В документах есть отличное вступление; Вот модифицированный отрывок:

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];
0 голосов
/ 16 апреля 2014
NSDateFormatter * formatter;

self.formatter = [[NSDateFormatter alloc] init];

[_formatter setDateFormat:@"HH:mm:ss"];

NSDate *today = [NSDate date];

NSString *p_time = [_formatter stringFromDate:today];
...