我需要知道两个 NSDate 实例是否都来自同一天。
有没有比获取 NSDateComponents 并比较日/月/年更简单/更好的方法?
如果您的目标是iOS 8(和 OS X 10.9)或更高版本, then 乔的回答 https://stackoverflow.com/a/28247598/1693173为此目的,使用 NSCalendar 中的新方法是一个更好的解决方案:
-[NSCalendar isDate:inSameDayAsDate:]
适用于 iOS 7 或更早版本: NSDateComponents 是我的偏好。像这样的事情怎么样:
- (BOOL)isSameDayWithDate1:(NSDate*)date1 date2:(NSDate*)date2 {
NSCalendar* calendar = [NSCalendar currentCalendar];
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents* comp1 = [calendar components:unitFlags fromDate:date1];
NSDateComponents* comp2 = [calendar components:unitFlags fromDate:date2];
return [comp1 day] == [comp2 day] &&
[comp1 month] == [comp2 month] &&
[comp1 year] == [comp2 year];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)