obj-c: программирование iphone, проблема NSTimeInterval - PullRequest
1 голос
/ 16 июня 2010

У меня проблема с моим временным интервалом.Мне нужно получить интервал два раза в этом формате: ЧЧ: ММ.Если я ввожу: 15:35 и 16:35, это нормально, но когда я делаю с 20:30 до 01:30, это дает мне интервал в 18 часов ... у кого-нибудь есть идея?

        NSString *startDate= starthere.text;
    NSString *endDate = endhere.text;


    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"HH:mm"];

    NSDate *dateSelected = [dateFormatter dateFromString:startDate];        
    NSDate *dateSelected2 = [dateFormatter dateFromString:endDate];
    [dateFormatter release];





        if ([dateSelected2 earlierDate:dateSelected] == dateSelected2)
        {
            dateSelected2 = [dateSelected2 dateByAddingTimeInterval:86400];
        }





interval = [dateSelected2 timeIntervalSinceDate:dateSelected];

1 Ответ

3 голосов
/ 16 июня 2010

Ваша конечная дата до вашей начальной даты, поэтому составляют 19 часов между ними. Быстрое решение может состоять в том, чтобы добавить 24 часа к конечной дате, если она сравнивается с более ранней, чем начальная дата. Что-то вроде:

if ([dateSelected2 earlierDate:dateSelected] == dateSelected2)
{
    dateSelected2 = [dateSelected2 dateByAddingTimeInterval:86400];
}

Документация NSDate содержит все, что вам нужно знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...