Это похоже на ошибку IOS 10. Это нормально в iOS 8 и 9.iOS 10 ошибка? Описание часа NSDate с районом Японии и 24-часовым временем выключено
Описание часа неправильное для [NSDate date]. Он добавляет 24-часовое описание и 12-часовое описание. Я не использую NSDateFormatter. Только настройки по умолчанию.
На реальном IOS 10 устройств, в настройках:
- Установить область в Японию в Настройки> Общие> Язык & область> Форматы область> Регион
- Установить 24-часовой Time Off в меню Настройки> Общие > Дата & время> 24-часовой
Тогда с:
NSLog(@"Date is %@", [NSDate date].description);
Фактический выход журнала:
Date is 2016-11-14 44:14:57 AM +0000
Ожидаемые результаты:
Date is 2016-11-14 4:14:57 AM +0000
Редактировать (Добавление другой пример):
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd hh:mm:ss a";
NSString *dateString = @"1985-04-12 7:20:50 PM";
NSDate *date = [dateFormatter dateFromString:dateString];
NSLog(@"Date is %@", date.description);
Фактический выход:
Date is 1985-04-12 1010:20:50 AM +0000
Ожидаемое НУ tput
Date is 1985-04-12 10:20:50 AM +0000
Если я изменяю час до 24-часовом формате (HH):
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss a";
NSString *dateString = @"1985-04-12 7:20:50 PM";
NSDate *date = [dateFormatter dateFromString:dateString];
NSLog(@"Date is %@", date.description);
Фактический выход:
Date is (null)
Ожидаемый результат:
Date is 1985-04-12 10:20:50 AM +0000
24-часовое время не включено, оно отключено – unitwhy
Отправить отчет об ошибке Apple. Не забудьте включить тривиальное примерное приложение, которое реплицирует проблему, чтобы они могли ее исправить. – rmaddy
Я отправил отчет об ошибке Apple. Спасибо за совет – unitwhy