Там есть несколько вопросов, ни один из которых не соответствует названию, но здесь идет; -)
Чтобы получить текущее время / дату:
NSDate *now = [NSDate date];
Чтобы сохранить этоЯ предлагаю вам сохранить его в NSUserDefaults:
[[NSUserDefaults standardUserDefaults] setObject:now forKey:@"startTime"];
[[NSUserDefaults standardUserDefaults] synchronize];
Вы можете загрузить дату позже, используя
NSDate *theDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"startTime"];
. Вы можете отформатировать дату во что-то, удобное для чтения человеком, используя NSDateFormatter, например:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"HH:mm"];
NSString *time = [formatter stringFromDate:theDate]; // returns something like @"10:30"
Вы можете найти разницу между двумя датами, используя такую функцию:
NSTimeInterval differenceInSeconds = [date1 timeIntervalSinceDate:date2];
Временные интервалы в секундах, поэтому, чтобы преобразовать это в полезное время, вы можете разделитьна 60, чтобы получить минуты, разделите на 60 снова, чтобы получить часы и т. д. Итак, чтобы преобразовать это в удобочитаемое время:
NSTimeInterval differenceInSeconds = ...
NSInteger totalSeconds = floor(differenceInSeconds);
NSInteger seconds = totalSeconds % 60;
NSInteger minutes = totalSeconds / 60;
NSString *waitTime = [NSString strinWithFormat:@"%i minutes, %i seconds", minutes, seconds];