检查一个NSDate是否大于另一个
if (datStartDate > datEndDate) {  这似乎并不奏效。 我知道有一个isEqual等,但我该如何执行“是大于”? 
 有两个NSDate 。 
我知道的最简单的方法是:
 if( [firstDate timeIntervalSinceDate:secondDate] > 0 ) { 
其他答案涵盖比较:想添加一些风味;)。
 比较date使用-compare:方法: 
返回值如果:
- 接收者和另一个date完全相等, NSOrderedSame
- 接收者晚于其他date, NSOrderedDescending
- 接收者比另一个时间更早, NSOrderedAscending 。
关于什么…
 if ([datStartDate earlierDate: datEndDate] == datStartDate) { // datStartDate is earlier } else { // datEndDate is earlier } 
正如你有NSDates :
 NSDate *datStartDate = [NSDate dateWithString:@"2010-10-01 03:00:00 +0900"]; NSDate *datEndDate = [NSDate dateWithString:@"2010-10-01 04:00:00 +0900"]; if ( ([datStartDate compare:datEndDate]) == NSOrderedDescending ) { ... } 
Swift 2版本接受的答案:
 if firstDate.timeIntervalSinceDate(secondDate) > 0 { // firstDate is greater (further in the future) than secondDate }