Команда, я сравниваю дату, сформированную из строки с помощью NSDateFormatter, с системной датой iOS. Приведенный ниже оператор возвращает значение true, если для системных настроек даты и времени установлено значение 24-часовой формат, но тот же код возвращает значение false, если 24-часовой формат выключен.
Проблемный код:
if ([(NSDate*)[NSDate date] compare:currDate] == NSOrderedAscending) {
// -- Code -- This is executed only when the 4-Hour Time ON
}
Я смущен. Строка, с помощью которой я получаю дату, имеет формат 24 часа. Это проблема? Или что-то еще?
Код форматирования даты:
-(NSDate *)getDateFromString:(NSString *)dateString{
NSDateFormatter* fmt = [[NSDateFormatter alloc] init];
[fmt setDateFormat:@"dd MMM yyyy hh:mm:ss"];
[fmt setTimeZone:[NSTimeZone systemTimeZone]];
[fmt setFormatterBehavior:NSDateFormatterBehaviorDefault];
return [fmt dateFromString:dateString];
}
dateString
? Покажите нам пример его значения, когда устройство iOS находится в 24-часовом режиме и когда устройство iOS находится в 12-часовом режиме. - person rmaddy   schedule 23.05.2013[NSDate date]
? Это ужеNSDate *
. 2) Нет необходимости устанавливать часовой пояс форматирования даты. Он уже по умолчанию соответствует текущему часовому поясу. 3) Нет необходимости устанавливать поведение форматера. По умолчанию используется BehaviorDefault. - person rmaddy   schedule 23.05.2013