iphone - 在iPhone中检查日期是否在两天之间

标签 iphone ios nsdateformatter date-comparison

我知道如何比较日期。在我的情况下,让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/

相关文章:

iphone - iPhone AVAudioFoundation声音完成循环

ios - 增大UIButton的点击区域

ios - 导航 Controller 的问题

ios - NSDateFormatter 在调用 datefromstring 方法时返回 nil?

ios - 格式化日期字符串 Swift 3 中的问题

iphone - 在 Android 和 iPhone 上使用默认起始位置从浏览器打开谷歌地图应用程序

iphone - UIButton 标签文本被剪切

iphone - 如何按字母顺序创建分段/分组 TableView

ios - 有人在让 ZBar 在他们的 iOS8/Xcode 项目中工作有困难吗?

objective-c - 将秒格式化为 hh :ii:ss