iOS比较两个相同的NSDates不会返回NSOrderedSame

时间:2014-07-04 09:28:05

标签: ios nsdate

作为标题,我尝试了以下简单代码:

NSDate *date1 = [NSDate date];
NSDate *date2 = [NSDate date];
if([date1 compare:date2] == NSOrderedSame)
 NSLog(@"two time same");
else
 NSLog(@"two time not same");

结果是:

two time not same

我不明白,有人可以给我一些提示吗?谢谢。

1 个答案:

答案 0 :(得分:9)

它不一样,因为对象的创建存在一点时间差异,只是尝试在NSTimeInterVal中打印出值以便更好地了解。

示例:

NSDate *date1 = [NSDate date];
NSDate *date2 = [NSDate date];

NSLog(@"date1 : %f", [date1 timeIntervalSince1970]);
NSLog(@"date2 : %f", [date2 timeIntervalSince1970]);

输出:

date1 : 1404466511.638555
date2 : 1404466511.638558

您还可以使用方法

查看差异
- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDate