Необходимо проверить, лежит ли текущий временной интервал между временем начала и конца в задаче c - PullRequest
0 голосов
/ 24 июня 2011

Я хочу знать, присутствует ли текущее время между временем начала и вводом, оба (время начала и время окончания) являются статическими. Примерно так: предположим, мое текущее время - 10:15, время начала - 9:15, а время окончания - 11:00. Так что это должно быть, функция должна вернуть мне значение BOOL, которое в данном случае - да, теперь предположим, что мое текущее время - 12:00, тогда функция должна вернуть мне значение bool NO. Так что я в замешательстве по поводу того, как создать такую ​​функцию (метод), которая будет выполнять вышеуказанный трюк Обратите внимание, что время начала и окончания будет для одного дня.

Ответы [ 2 ]

1 голос
/ 27 июня 2011

NSDate имеет все функции, необходимые для этого. Ознакомьтесь с документацией.

0 голосов
/ 14 марта 2016
  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");

    }
...