Это, чтобы получить время в 24 час. Таким образом, это охватывает ваши последние два момента.
NSDate *currentTime = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh:mm"];
NSString *resultString = [dateFormatter stringFromDate:currentTime];
NSLog(@"%@", resultString);
Теперь что касается первого вопроса, то, что вам нужно сделать, это хранить протоколы в отдельной переменной, а затем сделать простой процент, чтобы выяснить, десятичное число, а затем создать новую строку времени, например, так :
NSArray *dateArray = [resultString componentsSeparatedByString:@":"];
NSString *hour = [dateArray objectAtIndex:0];
NSString *minute = [dateArray objectAtIndex:1];
int percentage = [minute intValue];
percentage = ((percentage/60) * 100);
NSString *newTime = [NSString stringWithFormat:@"%@.%d", hour, percentage];
NSLog(@"New time is: %@", newTime);
Я надеюсь, что это помогает :)
'процент/60 * 100', а затем еще отобразить его после точки? Почему бы не просто «час + (процент/60)»? – Eimantas
@Eimantas прочитал вопрос пожалуйста. В вопросе говорится 15.4. 15 и 4 разделены точкой. jjj хочет строку с часом, а затем точкой, а затем процентом. –
'24/60 == 0.4'. Таким образом, '15 + 0.4 == 15.4'. Таким образом, вы можете сделать 'int hour = [dateArray [0] intValue]; int minute = [dateArray [1] intValue]; ', вычислять процент и добавлять час к минуте. – Eimantas