我想知道当前时间是否存在于开始时间和输入之间,两者(开始时间和结束时间)都是静态的。这样的事情假设我现在的时间是10:15 AM,开始时间是上午9:15,结束时间是上午11:00。所以这应该是函数应该返回我在这种情况下的BOOL值是,现在假设我的当前时间是12:00 AM然后该函数应该返回一个bool值NO。所以我对如何创建这样一个能够完成上述技巧的函数(方法)感到困惑。请注意,开始时间和结束时间将在同一天。
答案 0 :(得分:1)
NSDate具有您执行此操作所需的所有功能。查看文档。
答案 1 :(得分:0)
NSDate * now = [NSDate date];
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
[outputFormatter setDateFormat:@"HH:mm:ss"];
//current time
NSString *currentTimeString = [outputFormatter stringFromDate:now];
NSDate *dateCurrent = [outputFormatter dateFromString:currentTimeString];
NSString *timeStart = @"09:00:00";
NSString *timeEnd = @"22:00:00";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"HH:mm:ss"];
NSDate *dateStart= [formatter timeStart];
NSDate *dateEnd = [formatter timeEnd];
NSComparisonResult result = [dateCurrent compare:dateStart];
NSComparisonResult resultSecond = [date2 compare:dateEnd];
if(result == NSOrderedDescending && resultSecond == NSOrderedDescending)
{
NSLog(@"current time lies in starting and end time");
}else {
NSLog(@"current time don't lie in starting and end time");
}