Estoy teniendo un problema. Recibo cadenas de tiempo entrantes en formato de 12 horas y las convierto en objetos NSDate. Cuando el iPhone está en formato de 12 horas, no hay problema. Pero cuando está en formato de 24 horas, las cosas salen mal. Aquí hay un código de ejemplo para demostrar:NSDateFormatter dateFromString y iPhone en formato de 24 horas Confusión
NSString *theTime = @"3:19 PM";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"h:mm a"]; // "3:19 PM"
NSDate *date = [formatter dateFromString:theTime];
NSString *theString = [formatter stringFromDate:date];
En el modo de 24 horas, la fecha se 1970-01-01 03:19:00 y elString es "03:19" - MAL
en modo de 12 horas, fecha es 1970-01-01 15:19:00 y elString es "15:19" - DERECHO
Así que ... la pregunta 1: ¿por qué es el dispositivo de 24 horas ¿Configurando la configuración de mi formateo de fecha?
y lo más importante, la pregunta 2: ¿Cómo consigo una conversión apropiada de de 12 horas de tiempo de 24 horas?
Ya tengo el código para detectar si el teléfono está en modo de 24 horas, pero aparte de buscar en la cadena e intercambiar el 3 con un 15, no parece haber una manera clara de hacerlo.
Esta respuesta llegó mucho después de que había elegido otra ruta, pero parece razonable y alguien más la ha verificado, así que la marcaré como respondida. – Silromen
¿Cómo funcionó para usted? No obtuve la configuración de 12 horas. – Hisenberg
Muchas gracias !!!! Funciona ahora ... – harshit2811