我知道如何比较日期。在我的情况下,让Date1 = 2011-10-14&Date2 = 2011-10-20。我想检查10月15日是否位于Date1和Date2之间。为此,我正在使用以下代码:
if ( [date compare:Date1] == NSOrderedDescending && [date compare:Date2] == NSOrderedAscending) {
//write codes
}
但这不会检查10月15日是否位于10月14日至20日之间,而是检查整个日期。因此,我将如何实现这一点。
提前thnx。
最佳答案
希望以下代码对您有所帮助。假设您拥有Date1和Date2,
NSCalendar *calendar = [NSCalendar currentCalendar];
NSInteger desiredComponents = (NSDayCalendarUnit | NSMonthCalendarUnit);
NSDateComponents *firstComponents = [calendar components:desiredComponents fromDate:Date1];
NSDateComponents *secondComponents = [calendar components:desiredComponents fromDate:Date2];
NSDate *firstWOYear = [calendar dateFromComponents:firstComponents];
NSDate *SecondWOYear = [calendar dateFromComponents:secondComponents];
NSComparisonResult result = [firstWOYear compare:SecondWOYear];
if (result == NSOrderedAscending) {
//Date1 is before Date2
} else if (result == NSOrderedDescending) {
//Date1 is after Date2
} else {
//Date1 is the same day/month as Date2
}
关于iphone - 在iPhone中检查日期是否在两天之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12470236/