如何检查当前时间是否在开始时间和结束时间之间?

时间:2013-01-23 08:24:54

标签: iphone objective-c cocoa-touch ios5 ios4

  

可能重复:
  How to Check if an NSDate occurs between two other NSDates

在我的应用程序中,我有时间用这样的字符串,

starttime(字符串):上午10:00

endtime(string):12:22 PM

我目前的时间是11.55 AM

如何检查当前时间是否在开始时间和结束时间之间?

2 个答案:

答案 0 :(得分:0)

使用这种方式:

首先使用NSDate将字符串转换为NSDateFormatter

然后直接将这两个日期与currentDate进行比较,该日期始终为[NSDate date]

您可以使用NSDate的这两种实例方法。

isGreaterThan:isLessThan:

或者,

if (! (([currentDate compare:startDate]==NSOrderedAscending) && ([currentDate compare:endDate]==NSOrderedDescending)){
    NSLog(@"Valid date");
}

答案 1 :(得分:-1)

首先尝试删除AM和PM

与其PM一样,然后在该时间范围内添加+12。

然后检查天气当前时间的数字,在“:”之前的数字大于开始时间而不是结束时间..如果它返回true,那么你可以在“:”之后检查数字。