两个nsdate之间的差异



我正在使用日期时间选择器两个NSDates。现在我想计算这两个nsdate之间的天数。如何找到两个nsdate之间的差异?

请给我一些解决办法。

谢谢。

这里有一个小宝石给你-不仅仅是几天:

// Assuming you have fistDate and secondDate
unsigned int unitFlags = NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitDay | NSCalendarUnitMonth;
NSDateComponents *conversionInfo = [currCalendar components:unitFlags fromDate:fistDate   toDate:secondDate  options:0];
int months = [conversionInfo month];
int days = [conversionInfo day];
int hours = [conversionInfo hour];
int minutes = [conversionInfo minute];

这是非常有用的-特别是在格式化字符串时,如:

[NSString stringWithFormat:@"%d months , %d days, %d hours, %d min", months, days, hours, minutes];

Happy Coding:)

NSDate引用是一个伟大的小文档:http://developer.apple.com/library/mac/文档/可可/引用/基金/类/NSDate_Class/引用/Reference.html

- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDate
如果您想要时间间隔差,则

是您正在寻找的。

对于天(因为不是每天都有相同的分钟数,小时数),你想看到马丁斯下面的答案,并使用NSDateComponents与[NSCalendar currentCalendar]

这是一个Swift实现(我在调试网络请求和JSON解析时一直使用它):

let date1 = NSDate()
// do some long running task
let date2 = NSDate()
print(date2.timeIntervalSinceDate(date1))
// you can also do this in one line, of course:
print(NSDate().timeIntervalSinceDate(date1))

最新更新