Вы можете сравнить две даты следующим образом.
==> расширить встроенный класс NSDate (.h и .m файлы)
#import <Foundation/Foundation.h>
struct DateInformation {
int day;
int month;
int year;
int weekday;
int minute;
int hour;
int second;
};
typedef struct DateInformation DateInformation;
@interface NSDate (Extra)
- (DateInformation) dateInformation;
@end
класс реализации:
#import "NSDate+Extra.h"
@implementation NSDate (Extra)
- (DateInformation) dateInformation
{
DateInformation info;
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comp = [gregorian components:(NSMonthCalendarUnit | NSMinuteCalendarUnit | NSYearCalendarUnit |NSDayCalendarUnit | NSWeekdayCalendarUnit | NSHourCalendarUnit | NSSecondCalendarUnit)
fromDate:self];
info.day = [comp day];
info.month = [comp month];
info.year = [comp year];
info.hour = [comp hour];
info.minute = [comp minute];
info.second = [comp second];
info.weekday = [comp weekday];
[gregorian release];
return info;
}
@end
из класса, в котором вы хотите сравнить даты
выполните следующие действия для обеих дат
NSDate *date=[NSDate date];
DateInformation info=[date dateInformation];
NSLog(@"%@",info);
NSDate *date1=[NSDate dateWithTimeIntervalSinceNow:1242141];
DateInformation info=[date1 dateInformation];
NSLog(@"%@",info);
реализует еще один метод в расширенном классе дат для сравнения всехпараметр даты, которые являются целыми числами ..
надеюсь, что это может помочь вам
привет, neil