Iphone ios:如何比较2个不同格式的NSDATE?
我在比较两个不同格式的NSDate时遇到了很多问题,尽管我对这一点还不熟悉 -解决这个问题的最佳方法应该是什么 1.我试图将这两个日期转换成一种格式,然后进行比较 或者我应该先知道这两个日期的格式,然后再进行比较不知道它的格式。在内部,日期存储时没有任何格式或区域 要比较日期,可以使用以下方法Iphone ios:如何比较2个不同格式的NSDATE?,iphone,objective-c,nsdate,Iphone,Objective C,Nsdate,我在比较两个不同格式的NSDate时遇到了很多问题,尽管我对这一点还不熟悉 -解决这个问题的最佳方法应该是什么 1.我试图将这两个日期转换成一种格式,然后进行比较 或者我应该先知道这两个日期的格式,然后再进行比较不知道它的格式。在内部,日期存储时没有任何格式或区域 要比较日期,可以使用以下方法 你说的格式是什么意思?初始化NSDate对象后,可以直接将其映射到该类型的任何其他对象,如:(假设date1的类型为NSDate) 你可以在这里看到ref(查找比较方法):你基本上是说,我应该比较这两个日
你说的格式是什么意思?初始化NSDate对象后,可以直接将其映射到该类型的任何其他对象,如:(假设
date1
的类型为NSDate
)
你可以在这里看到ref(查找
比较方法):你基本上是说,我应该比较这两个日期,而不将这两个日期转换为一种格式。是的,你应该总是比较日期而不转换它们。NSDate对象经过特殊设计,可以更轻松地处理日期,而不知道日期将如何表示。我的一个日期类似于-2012-05-08 12:01:56+0000,另一个日期是-2011-05-09 10:25:00.627我想比较类似这样的日期(上面的一个只是一个示例,但我还需要处理其他格式)我的一个日期是-2012-05-08 12:01:56+0000,另一个日期是-2011-05-09 10:25:00.627,我的意思是说这种格式。正如@rckoenes已经回答的那样,格式对于比较来说并不重要,因为使用对象的内部值来进行比较。
if([someDate compare:ortherDate] == NSOrderedDescending ){
// someDate later then otherDate;
}
if ([date1 compare:[NSDate date]] == NSOrderedAscending) {
...
}