Sau khi tìm kiếm stackoverflow và web rất nhiều, tôi phải nhận ra rằng cách tốt nhất để làm điều đó là như sau:
- (BOOL)isEndDateIsSmallerThanCurrent:(NSDate *)checkEndDate
{
NSDate* enddate = checkEndDate;
NSDate* currentdate = [NSDate date];
NSTimeInterval distanceBetweenDates = [enddate timeIntervalSinceDate:currentdate];
double secondsInMinute = 60;
NSInteger secondsBetweenDates = distanceBetweenDates / secondsInMinute;
if (secondsBetweenDates == 0)
return YES;
else if (secondsBetweenDates < 0)
return YES;
else
return NO;
}
Bạn cũng có thể thay đổi nó thành sự khác biệt giữa các giờ.
Thưởng thức!
Chỉnh sửa 1
Nếu bạn chỉ muốn so sánh ngày với định dạng dd / MM / yyyy, bạn cần thêm các dòng bên dưới giữa NSDate* currentdate = [NSDate date];
&&NSTimeInterval distance
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd/MM/yyyy"];
[dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]
autorelease]];
NSString *stringDate = [dateFormatter stringFromDate:[NSDate date]];
currentdate = [dateFormatter dateFromString:stringDate];