1

下午好,

你如何检查一个日期是否在两个日期之间?我知道我必须先将数据字符串转换为 NSDate 值:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/dd/yyyy"];

NSDate *date1 = [dateFormatter dateFromString:@"01/01/2001"];
NSDate *date2 = [dateFormatter dateFromString:@"01/01/2010"];

NSDate *userDate = [dateFormatter dateFromString:@"12/12/2001"];

然后我必须使用 if 语句,但我不太确定如何去做。这是我需要的:

if (userDate 在 date1 和 date2 之间) {

}

任何有关 if 语句的帮助将不胜感激。谢谢!

4

3 回答 3

5

Use NSDate -compare::

if (([date1 compare:userDate] == NSOrderedAscending) && ([date2 compare:userDate] == NSOrderedDescending)) {
        // Do something
}
于 2013-02-10T23:57:46.280 回答
2

of the top of my head so check the syntax ;-)

if (([userDate laterDate: date1] == userDate) && ([userDate laterDate: date2] == date2)){
}
于 2013-02-11T00:00:54.953 回答
1
if(([userDate compare: date1] ==  NSOrderedDescending) && ([userDate compare: date2] == NSOrderedAscending)){
//do something
}
于 2013-02-10T23:58:07.217 回答