Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone ios:如何比较2个不同格式的NSDATE?_Iphone_Objective C_Nsdate - Fatal编程技术网

Iphone ios:如何比较2个不同格式的NSDATE?

Iphone ios:如何比较2个不同格式的NSDATE?,iphone,objective-c,nsdate,Iphone,Objective C,Nsdate,我在比较两个不同格式的NSDate时遇到了很多问题,尽管我对这一点还不熟悉 -解决这个问题的最佳方法应该是什么 1.我试图将这两个日期转换成一种格式,然后进行比较 或者我应该先知道这两个日期的格式,然后再进行比较不知道它的格式。在内部,日期存储时没有任何格式或区域 要比较日期,可以使用以下方法 你说的格式是什么意思?初始化NSDate对象后,可以直接将其映射到该类型的任何其他对象,如:(假设date1的类型为NSDate) 你可以在这里看到ref(查找比较方法):你基本上是说,我应该比较这两个日

我在比较两个不同格式的NSDate时遇到了很多问题,尽管我对这一点还不熟悉

-解决这个问题的最佳方法应该是什么

1.我试图将这两个日期转换成一种格式,然后进行比较 或者我应该先知道这两个日期的格式,然后再进行比较

不知道它的格式。在内部,日期存储时没有任何格式或区域

要比较日期,可以使用以下方法


你说的格式是什么意思?初始化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) {
    ...
}