Porównanie funkcji iOS NSDate działa inaczej, gdy ustawienia 24-godzinnego okresu czasu zmieniają się z WŁĄCZONE i WYŁĄCZONE?

Zespół, porównuję datę, która jest tworzona z ciągu za pomocą NSDateFormatter z datą systemu iOS. Poniższa instrukcja zwraca wartość true, gdy ustawienia daty systemowej są ustawione na 24-godzinny czas ON, ale ten sam kod zwraca wartość false, gdy 24-godzinny czas OFF.

Kod problematyczny:

if ([(NSDate*)[NSDate date] compare:currDate] == NSOrderedAscending) {
     // -- Code -- This is executed only when the 4-Hour Time ON
 }

Jestem zdezorientowany. Ciąg, za pomocą którego otrzymuję datę, jest w formacie 24-godzinnym. Czy to problem? Albo coś innego?

Kod formatowania daty:

-(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];
}

questionAnswers(2)

yourAnswerToTheQuestion