3 回答

TA贡献1821条经验 获得超5个赞
让我们假设两个日期:
NSDate *date1;
NSDate *date2;
然后,下面的比较将确定哪个是较早/较晚/相同:
if ([date1 compare:date2] == NSOrderedDescending) {
NSLog(@"date1 is later than date2");
} else if ([date1 compare:date2] == NSOrderedAscending) {
NSLog(@"date1 is earlier than date2");
} else {
NSLog(@"dates are the same");
}

TA贡献1844条经验 获得超8个赞
晚了,但是比较NSDate对象的另一种简单方法是将它们转换为原始类型,从而可以轻松使用'>''<''=='等
例如。
if ([dateA timeIntervalSinceReferenceDate] > [dateB timeIntervalSinceReferenceDate]) {
//do stuff
}
timeIntervalSinceReferenceDate将日期转换为自参考日期(格林尼治标准时间2001年1月1日)以来的秒数。当timeIntervalSinceReferenceDate返回NSTimeInterval(它是一个double typedef)时,我们可以使用原始比较器。
添加回答
举报