比较两个NSDates

时间:2010-06-20 18:57:39

标签: cocoa compare nsdate

如何比较两个NSDates并返回它们之间的时间量。

例如:

2010-06-20 14:29:41 -0400
2010-06-20 14:53:29 -0400

应返回类似:2324(分钟)的内容,将秒数四舍五入,因为我不需要秒数。

2 个答案:

答案 0 :(得分:11)

尝试类似:

int intervall = (int) [date1 timeIntervalSinceDate: date2] / 60;

答案 1 :(得分:2)

这里是比较两个NSDate的完整代码段,根据您的查询,您可能会发现它更有用。

NSCalendar *myCal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSString *str =@"12:15, 01 15 2012 AM";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm, dd MM yy a"];

NSDate *refDate = [formatter dateFromString:str];
NSDate *today = [NSDate date];



NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit;
NSDateComponents *difference = [myCal components:unitFlags fromDate:refDate     toDate:today options:0];
NSLog(@"%@",difference);

------------------------------你会得到的是------------ -----------------------------

日历年:0月:0天:0小时:1分钟:19