前言:
之前写过一个通过时间戳比对时间的方法,感觉太过于麻烦,当麻烦经常重现的时候,就想着反思一下,于是就找一些资料,写了这个方法,感觉还是挺好用的,分享
//比对开始时间和结束时间
NSDateFormatter
*formatter=[[
NSDateFormatter
alloc
]
init
];
[formatter
setDateFormat
:
@"yyyy-MM-dd"
];
NSDate
*sDate = [formatter
dateFromString
:
self
.
startDateStr
];
NSDate
*eDate = [formatter
dateFromString
:
self
.
endDateStr
];
//1:开始时间大 -1:开始时间小 0:相等
int
result = [
self
compareOneDay
:sDate
withAnotherDay
:eDate];
if
(result ==
1
) {
[
SVProgressHUD
showInfoWithStatus
:
@"开始时间大于结束时间"
];
return
;
}
//开始时间和结束时间的对比
- (
int
)compareOneDay:(
NSDate
*)startDate withAnotherDay:(
NSDate
*)endDate
{
NSDateFormatter
*dateFormatter = [[
NSDateFormatter
alloc
]
init
];
[dateFormatter
setDateFormat
:
@"yyyy-MM-dd"
];
NSString
*sDate = [dateFormatter
stringFromDate
:startDate];
NSString
*eDate = [dateFormatter
stringFromDate
:endDate];
NSDate
*dateA = [dateFormatter
dateFromString
:sDate];
NSDate
*dateB = [dateFormatter
dateFromString
:eDate];
NSComparisonResult
result = [dateA
compare
:dateB];
//开始时间大于结束时间
if
(result ==
NSOrderedDescending
) {
return
1
;
}
//开始时间小于结束时间
else
if
(result ==
NSOrderedAscending
){
return
-
1
;
}
//相等
return
0
;
}