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