как добавить время в iphone? - PullRequest
       2

как добавить время в iphone?

0 голосов
/ 20 января 2011

У меня три строки

str1 = @ "00:14";str2 = @ "00:55";str3 = @ "00:10";

мне нужно добавить три строки в виде целого числа и отобразить в одном и том же формате времени

как я могу помочь, пожалуйста, помогите

Заранее спасибо

Ответы [ 3 ]

2 голосов
/ 20 января 2011

Работа с финиками в Какао - это весело!Вы можете создать метод, подобный этому:

- (NSDate *)dateByAddingDates:(NSArray *)dates {
  NSCalendar *calendar = [NSCalendar currentCalendar];
  unsigned unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
  NSDate *date = [dates objectAtIndex:0];
  for (int i = 1; i < [dates count]; i++) {
    NSDate *newDate = [dates objectAtIndex:i];
    NSDateComponents *comps = [calendar components:unitFlags fromDate:newDate];
    date = [calendar dateByAddingComponents:comps toDate:date options:0];
  }
  return date;
}

И использовать его так:

  NSString *str1 = @"00:14";
  NSString *str2 = @"00:55";
  NSString *str3 = @"00:10";

  NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
  [dateFormatter setDateFormat:@"mm:ss"];

  NSArray *dates = [NSArray arrayWithObjects:[dateFormatter dateFromString:str1],
                    [dateFormatter dateFromString:str2],
                    [dateFormatter dateFromString:str3], nil];
  NSDate *date = [self dateByAddingDates:dates];

  NSLog(@"%@", [dateFormatter stringFromDate:date]);
0 голосов
/ 20 января 2011

проверить эту связанную ветку: Сравнение дат

в итоге, сначала проанализировать строки как NSDates, используя initWithString: вызов метода.После этого вы можете добавлять и манипулировать датами любым удобным для вас способом и, наконец, просто отформатировать их для правильного вывода.

Надеюсь, что это поможет уточнить ваш запрос.

Кстати, справочник Mac Developer SDK найденздесь для вашей информации: - http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDate_Class/Reference/Reference.html#//apple_ref/occ/cl/NSDate

0 голосов
/ 20 января 2011

Чтобы сделать все правильно, это будет выглядеть так:

  • Используйте NSDateFormatter для преобразования строк в NSDate объекты.
  • Используйте [NSCalendar currentCalendar] для извлеченияNSDateComponents для каждой даты, в частности NSMinuteCalendarUnit.
  • Сложите все минуты компонентов даты и установите их в объект NSDateComponent
  • (необязательно). Используйте свой календарьчтобы преобразовать NSDateComponent обратно в NSDate.

Чтобы сделать что-то глупо, вы получите подстроку символов после :, вызовите intValue для ее поворотав int, затем сложите все это.Я не рекомендую делать это, потому что это может привести к тонким и коварным ошибкам.Кроме того, уже есть код, чтобы сделать это для вас.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...