Я озадачен, так как я не метод, описанный ниже, по-видимому, НЕ работает, когда я смотрю на мое приложение, когда обе даты совпадают. Год / месяц / дата / час / минута / секпроверить это, кажется, работает нормально.Является ли приведенный ниже код не надежным по какой-то причине?
Код:
- (BOOL)isAfterThisDate:(NSDate*)thisDate {
NSComparisonResult result = [self compare:thisDate];
if (result == NSOrderedDescending) {
NSLog(@" - isAfterThisDate: %@ is after %@ is TRUE", [self stringSummary], [thisDate stringSummary]);
return TRUE;
} else {
NSLog(@" - isAfterThisDate: %@ is after %@ is FALSE", [self stringSummary], [thisDate stringSummary]);
return FALSE;
}
}
Вот выдержка из журнала приложения (т. Е. Когда я использую этот метод в своем приложении).Я ожидал, что это будет ложно, как моя поддержка тестового модуля.
isAfterThisDate: Thu 03-11-2011 09:00:00 GMT+10:00 is after Thu 03-11-2011 09:00:00 GMT+10:00 is TRUE
Для справки я использовал вспомогательный метод:
- (NSString*) stringSummary {
NSDateFormatter* formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat:@"EEE dd-MM-yyyy HH:mm:ss zzz"];
NSString* str = [formatter stringFromDate:self];
return str;
}