У меня проблема. Я получаю входящие строки времени в 12-часовом формате, и я превращаю их в объекты NSDate. Когда iPhone находится в 12-часовом формате, проблем нет. Но когда он в формате 24 часа, все идет не так. Вот пример кода для демонстрации:
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];
В режиме 24 часа дата - 1970-01-01 03:19:00, а строка - "3:19" - WRONG
В 12-часовом режиме дата - 1970-01-01 15:19:00, а строка - "3:19 PM" - RIGHT
Итак... вопрос 1: почему настройка 24 часа в устройстве отменяет настройку форматирования даты?
и, что более важно, вопрос 2: Как мне получить правильное преобразование с 12-часового времени до 24-часового времени?
У меня уже есть код для определения того, находится ли телефон в 24-часовом режиме, но кроме копания в строке и замены 3 с помощью 15, кажется, нет чистого способа сделать это.