Tengo la aplicación que es un temporizador básico. Realiza un seguimiento de la cantidad de segundos que se ejecutó la aplicación. Quiero convertirlo para que los segundos (NSUInteger) se muestren como: 00:00:12 (hh: mm: ss). Por lo que he leído este post:Formateo de segundos en hh: ii: ss
NSNumber of seconds to Hours, minutes, seconds
Desde que escribí este código:
NSDate *date = [NSDate dateWithTimeIntervalSince1970:[[self meeting] elapsedSeconds]];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm:ss"];
Funciona bien, pero comienza con 4:00:00. No estoy seguro por qué. También he intentado hacer algo como:
NSDate *date = [NSDate dateWithTimeIntervalSinceNow:[[self meeting] elapsedSeconds] * -1];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm:ss"];
pensando que iba a mostrar el contador correctamente, pero hace un extraño 1:23:00, a continuación, sólo Flops a 4:00:00 y permanece allí por el resto de el tiempo.
MS
creo que [esto] (http://stackoverflow.com/questions/4042958/how-to-find-the-difference-between-two-dates- in-hhmmss-format-in-objective-c/4043251 # 4043251) es lo que estás buscando. Haría el paso 3 y el 'ti' en ese código es su' elapsedSeconds'. Asegúrese de dar una respuesta al contestador de esa pregunta (no a mí) si ayuda. – Anna
Gracias ABO. Aunque pensé que al usar NSDateFormatter no tendría que calcular todas las piezas ... ¿alguna reflexión sobre eso? –
NSDateFormatter es para dar formato a las fechas/horas (como a las 3 p.m.), no a una duración o cantidad de segundos transcurridos, que es lo que tiene. – Anna