objective-c - 如何在 Objective-C 中比较两个日期

标签 objective-c cocoa date date-comparison

我有两个日期:2009-05-11 和当前日期。我想检查给定日期是否是当前日期。这怎么可能。

最佳答案

Cocoa has couple of methods for this :

在 NSDate 中

– isEqualToDate:  
– earlierDate:  
– laterDate:  
– compare:

当你使用 - (NSComparisonResult)compare:(NSDate *)anotherDate 时,你会得到其中之一:

The receiver and anotherDate are exactly equal to each other, NSOrderedSame
The receiver is later in time than anotherDate, NSOrderedDescending
The receiver is earlier in time than anotherDate, NSOrderedAscending.

示例:

NSDate * now = [NSDate date];
NSDate * mile = [[NSDate alloc] initWithString:@"2001-03-24 10:45:32 +0600"];
NSComparisonResult result = [now compare:mile];

NSLog(@"%@", now);
NSLog(@"%@", mile);

switch (result)
{
    case NSOrderedAscending: NSLog(@"%@ is in future from %@", mile, now); break;
    case NSOrderedDescending: NSLog(@"%@ is in past from %@", mile, now); break;
    case NSOrderedSame: NSLog(@"%@ is the same as %@", mile, now); break;
    default: NSLog(@"erorr dates %@, %@", mile, now); break;
}

[mile release];

关于objective-c - 如何在 Objective-C 中比较两个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/949416/

相关文章:

iphone - 在 didSelectRowAtIndexPath 上显示加载图像

objective-c - LAN 设备的 Objective C 可达性

excel - 计算某个日期出现的次数并绘制图表

php - 时间戳(具有不同的时区格式)在未来吗?

mysql - 如何在 MySQL 查询中使用 BETWEEN 的对立面?

objective-c - objective-c : calculator app - currentNumber = currentNumber * 10 + digit;

objective-c - 为什么按钮在用户按下时看起来不同?

objective-c - 设置 NSMutableArray 全局变量

iphone - 如何检查 NSSet 或 NSCountedSet 中是否存在现有项目?

objective-c - 当子类化 NSCoder 时,我是否还需要子类化集合类(即 :NSArray, NSDictionary)?