Как получить разницу во времени в iPhone - PullRequest
7 голосов
/ 15 сентября 2009

У меня есть 2 массива со значениями времени в нем. Они в следующем формате. мм: сс: сотни секунд Я хочу получить разницу между двумя [lastObjects] в массивах. NSDate не работает, потому что последнее значение в сотых долях секунды.

Вопрос. Если вторая дата больше первой, она выдаст мне отрицательное число, например -01: 10: 00?

Ответы [ 2 ]

36 голосов
/ 15 сентября 2009

Ваша задача состоит из двух частей: анализ времени и получение разницы:

NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"] autorelease]];
[dateFormatter setDateFormat:@"mm:ss:SS"];

NSDate* firstDate = [dateFormatter dateFromString:@"01:00:00"];
NSDate* secondDate = [dateFormatter dateFromString:@"01:02:00"];

NSTimeInterval timeDifference = [secondDate timeIntervalSinceDate:firstDate];
1 голос
/ 15 сентября 2009

NSDate должно работать для вас, используйте timeIntervalSinceDate:, который возвращает интервал времени с точностью до миллисекунды.

...