比较2个NSDate

我有2个NSDate对象,第一个设置为一个月前,seconed设置为今天。 我想检查今天是否在(更大)之后的月份前的对象。

我该怎么做?

阅读“ date和时间编程指南”中的许多date和时间概念(以及Cocoa如何处理它们)在这里详细解释,这是非常值得一读的。

此外,在NSDate类Reference中,可以find用于比较两个date的所有方法的专用部分 “比较date”。 所以你应该使用laterDate:或者earlierDate:方法来完全回答你的问题。 您也可以使用timeIntervalSinceDate:方法并检查返回的时间间隔的符号(再次参阅此文档)

一般来说,不要犹豫, 阅读文档 ,因为你已经详细解释了所有的东西 ,你可以看到给定的链接

你可以使用NSDate的compare方法 。 例:

 switch ([dateOne compare:dateTwo]) { case NSOrderedAscending: // dateOne is earlier in time than dateTwo break; case NSOrderedSame: // The dates are the same break; case NSOrderedDescending: // dateOne is later in time than dateTwo break; } 
 NSDate* earlierDate = [aDate earlierDate:anotherDate]; 

返回值使用timeIntervalSinceDate确定的接收者和anotherDate的前面。 如果接收方和另一个date表示相同的date,则返回接收方。

去这个链接:

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDate_Class/Reference/Reference.html

其他明智的转换你的date加倍和比较。 所有相关的function都在这个环节。