Часы в NSDate каждый раз в 24-часовом стиле?

У меня есть этот форматировщик даты:

 NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init];
 [timeFormatter setDateFormat:@"HH:mm"];

Если я использую это:

 NSDate *myDate = [timeFormatter dateFromString:@"13:00"];

Он возвращает это:

 "1:00"

Это потому, что симулятор переключился 24 часа в сутки. Но для моего приложения мне действительно нужно «13:00» вместо «1:00»

--- РЕДАКТИРОВАТЬ 1 ---

Добавлены новые код:

NSCalendar *calendar= [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSCalendarUnit unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;

NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init];
[timeFormatter setDateFormat:@"HH:mm"];
NSDate *timeForFirstRow = [timeFormatter dateFromString:@"13:00"];
NSDateComponents *dateComponents = [calendar components:unitFlags fromDate:timeForFirstRow];
NSInteger hour = [dateComponents hour]; //This will be 1 instead of 13
NSInteger minute = [dateComponents minute];
13
задан Cœur 3 September 2017 в 13:01
поделиться