timeInterval
- это количество времени в секундах, поэтому, если вы хотите, чтобы оно было в часах и долях часа, просто сделайте это:
double timeIntervalInHours = timeInterval / 3600.0;
, а затем умножьте timeIntervalInHours
на цену / часчтобы получить стоимость.
РЕДАКТИРОВАТЬ
На основе нашего чата, я бы создал кнопку с "iniciar" (начало) в качестве заголовка.Когда они нажимают эту кнопку, я сохраняю текущее время и меняю заголовок на «encerrar» (стоп).(Я надеюсь, что мои переводы верны, смеется). Тогда действие кнопки будет выглядеть примерно так:
// self.startTime is a NSDate.
- (IBAction)iniciar_encerrar:(UIButton *)sender {
if ([sender.titleLabel.text isEqualToString:@"iniciar"]) {
// We are starting the time
if (self.startTime != nil) {
return;
}
self.startTime = [NSDate date];
[sender setTitle:@"encerrar" forState:UIControlStateNormal];
} else {
// We are stopping the time
NSDate *currentTime = [NSDate date];
NSTimeInterval elapsedTimeInSeconds = [currentTime timeIntervalSinceDate:self.startTime];
double cost = elapsedTimeInSeconds / 3600.0 * 5.0;
NSLog(@"%.2lf", cost);
// reset the button
self.startTime = nil;
[sender setTitle:@"iniciar" forState:UIControlStateNormal];
}
}
startTime объявлен следующим образом:
В вашем.h файл, наряду с другими объявленными свойствами, добавьте:
@property (strong, nonatomic) NSDate *startTime;
В ваш файл .m добавьте его вверху вместе с другими:
@synthesize startTime;
В вашем *Функция 1024 * (в вашем файле .m) добавляет это:
startTime = nil;
Это просто дает вам место для хранения даты начала и времени.