Итак, у меня есть приложение, в котором некоторые данные возвращаются из веб-службы, и соответственно корректируется UIDatePicker
. Дата возвращается в следующем формате:Установка 24-часового времени в 12 часов UIDatePicker
12-05-2013 16:05 (dd-mm-yyyy hh:mm)
Время хранится в 24-часовом формате, однако UIDatePicker либо 12 час или 24 часа в зависимости от параметров на устройстве. Данные поступают в массив JSON и являются ключевым подом. Выбор даты, которую я устанавливаю, называется potddatepicker.
NSDateFormatter *inputFormat = [[NSDateFormatter alloc] init];
[inputFormat setDateFormat:@"dd-MM-yyy hh:mm"];
NSDate *inputDate = [inputFormat dateFromString: [jsonObjects objectForKey:@"potdd"]];
NSDate *potdd = inputDate;
[_potddatepicker setDate:potdd];
Если дата установлена до 12:00, она работает нормально. Если же дата-магазин в 24 час времени после 12, то он падает со следующим исключением:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: date'
я не особо хочу, чтобы заставить время в 12-часовом формате только для DatePicker, а затем заставить его обратно в течение 24 часов, когда он появляется, потому что у некоторых местных жителей он может использоваться в 24-часовой выбор времени. Кто-нибудь знает, как я могу справиться с этим? Я не могу изменить формат, который время хранится в базе данных.
Спасибо!
Вы проверили 'inputDate', чтобы узнать, есть ли у него значение, которое вы ожидаете? –
@GradyPlayer Проблема с ответом на этот дубликат - это неправильно. См. Комментарии ниже этого ответа. Вот почему я указал на необходимость использования специального языка 'en_US_POSIX' в моем ответе на этот вопрос. – rmaddy
@rmaddy форматировщик op немного слабее, но главная точка h vs H такая же. –