一个有关日期比较的全能的方法,可以比较两个时间之间的相差的 年月日时分秒 。
NSYearCalendarUnit :年
NSMonthCalendarUnit :月
NSDayCalendarUnit :日
NSHourCalendarUnit :小时
NSMinuteCalendarUnit:分
NSSecondCalendarUnit:秒
下面这个例子是比较两个日期之间相差几个小时:
如果要比较两个日期之间相差的天数,直接吧标注的地方换成NSHourCalendarUnit即可,注意两个日期的格式要保持一致:例如两个日期都是“yyyyMMddHHmmss"
NSCalendar *gregorian = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
[gregorian setFirstWeekday:2];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyyMMddHHmmss"];
NSDate *fromDate;
NSDate *toDate;
[gregorian rangeOfUnit:NSHourCalendarUnit startDate:&fromDate interval:NULL forDate:[dateFormatter dateFromString:thisTime]];
[gregorian rangeOfUnit:NSHourCalendarUnit startDate:&toDate interval:NULL forDate:[NSDate date]];
NSDateComponents *dayComponents = [gregorian components:NSHourCalendarUnit fromDate:fromDate toDate:toDate options:0];
if (dayComponents.hour >0 && dayComponents.hour>10) {
//如果大于一小时之后。。。
}else{
}