如何找到两个NSDates之间的差异,但忽略了日期,只关心时间?
到目前为止,我已经找到了很多解决方案来计算NSDates之间的差异,但没有一个能够忽略日期而只关心时间。
例如,01/01/01 04:35 PM和01/09/09 04:36 PM之间的差异是1分钟答案 0 :(得分:1)
与在iOS上相关的所有日期计算一样,NSCalendar
已经为您提供了帮助!具体来说,您希望使用components:fromDate:toDate:options:
并传递NSWrapCalendarComponents
作为选项,这样可以防止组件溢出到更高日期的组件中。
答案 1 :(得分:0)
试试这个:
int (^timeFromDate)(NSDate *) = ^(NSDate *date) {
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit
fromDate:date];
return (components.hour * 60 + components.minute) * 60 + components.second;
};
int diff = timeFromDate(date1) - timeFromDate(date2);