1

時間間隔に問題がありました。この形式で2回の間隔を取得する必要があります:HH:MM。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];
4

1 に答える 1

3

終了日は開始日のなので、19時間の間隔があります簡単な解決策は、開始日より前と比較した場合、終了日に24時間を追加することです。何かのようなもの:

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

NSDateのドキュメントには、知っておく必要のあるすべてのものが含まれています。

于 2010-06-16T16:53:07.713 に答える