Mam aplikację, która jest podstawowym timerem. Śledzi liczbę sekund uruchomienia aplikacji. Chcę go przekonwertować, aby sekundy (NSUInteger) były wyświetlane w następujący sposób: 00:00:12 (hh: mm: ss). Tak czytałem ten post:Formatowanie sekund na hh: ii: ss
NSNumber of seconds to Hours, minutes, seconds
Z którego napisałem ten kod:
NSDate *date = [NSDate dateWithTimeIntervalSince1970:[[self meeting] elapsedSeconds]];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm:ss"];
to działa dobrze, ale zaczyna się o 04:00:00. Nie jestem pewien dlaczego. Próbowałem też zrobić coś takiego:
NSDate *date = [NSDate dateWithTimeIntervalSinceNow:[[self meeting] elapsedSeconds] * -1];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm:ss"];
myśląc, że będzie on wyświetlany licznik prawidłowo, ale to robi dziwne 01:23:00, a potem po prostu klapki na 04:00:00 i pozostaje tam do końca czas.
MS
myślę [to] (http://stackoverflow.com/questions/4042958/how-to-find-the-difference-between-two-dates- in-hhmmss-format-in-objective-c/4043251 # 4043251) jest tym, czego szukasz. Zrobiłbyś krok 3, a 'ti' w tym kodzie jest twoim' elapsedSeconds'. Pamiętaj, aby dać odpowiedź na to pytanie (nie ja), jeśli to pomoże. – Anna
Dzięki ABO. Chociaż myślałem, używając NSDateFormatter, że nie musiałbym calc wszystkie kawałki ... żadnych myśli na ten temat? –
NSDateFormatter służy do formatowania dat/godzin (jak w godzinie 15), a nie do czasu trwania lub liczby sekund, które masz. – Anna