Сравнение времени и даты в задаче C - PullRequest
2 голосов
/ 14 сентября 2011

Как мне сравнить в задаче C, чтобы увидеть, перекрывает ли определенный период времени и даты другой период, который уже есть в списке, например?

Это наиболее часто используется в приложениях бронирования / бронирования, чтобы увидеть, если этоопределенный временной интервал занят и т. д.

Ответы [ 2 ]

6 голосов
/ 15 сентября 2011

Попробуйте это сравнить ..

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
            [dateFormat setDateFormat:@"MM/dd/yyyy hh:mm:ss aa"];


NSDate *dateOne=[dateFormat dateFromString:@"01/09/2011 11:12:10 AM" ];
        NSDate *dateTwo = [NSDate date];

        switch ([dateOne compare:dateTwo]){
            case NSOrderedAscending:
                //NSLog(@"NSOrderedAscending");
                break;
            case NSOrderedSame:
                //NSLog(@"NSOrderedSame");
             {
break;
            case NSOrderedDescending:
                //NSLog(@"NSOrderedDescending");
                break;
        }

[dateFormat release];
2 голосов
/ 14 сентября 2011

Предполагая, что дата хранится как NSDate, просто используйте это:

 [myDate timeIntervalSinceNow];

Возвращает NSTimeInterval, который представляет собой просто число с плавающей точкой, представляющее временной интервал в секундах. Если оно отрицательное, это означает, что время, которое вы сравниваете, является предыдущим.

Если ваша дата хранится в списке как NSString, вам нужно сначала преобразовать ее в NSDate, для этого используйте NSDateFormatter.

NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //Change this to your date format
NSDate * date = [formatter dateFromString:yourString];
[formatter release];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...