私は指定された日付&の時間が既に現在の日付&時間を過ぎているかどうかをチェックしています。ここで私は今6月30日、12:18である、7月3日17:29endDateInLocalTimezoneと私のと比較することをを得た私はNSDateの比較は常にNSOrderedAscendingを返します
NSString *End = [[values objectAtIndex:index]valueForKey:@"EndTime"];
fmt.dateFormat = @"yyyy-MM-dd hh:mm:ss";
utc = [fmt dateFromString:End];
NSDate *endDateInLocalTimezone = [utc dateByAddingTimeInterval:timeZoneSeconds];
fmt.dateFormat = @"MMMM dd, hh:mm a";
endDateInLocalTimezone = [fmt stringFromDate:endDateInLocalTimezone];
NSDate *now = [NSDate date];
now = [fmt stringFromDate:now];
if([endDateInLocalTimezone compare:now] == NSOrderedAscending)
{
index++;
continue;
}
をやったものです。それはNSOrderedAscendingにあります。つまり、左のオペランドが右のオペランドよりも小さいことを意味します。しかし、この場合、右オペランドは左オペランドより小さい。なぜそれはまだifの中に入っていますか?
FYI、最初の 'dateFormat'は' yyyy'、ない 'YYYY'を使用すべきです。 – Rob
私の悪い、今更新しました。私の今の比較の問題は何ですか? – drbj
また、無関係な、私は時間帯の間隔で日付の調整のあなたの意図は何か分からない。これは、あなたの意図が何であるかを診断するのに十分ではないが、日付オブジェクトがどのように機能するかについて何らかの誤解を示唆している。しかし、自分のタイムゾーンで日付オブジェクトを調整していることが分かった場合、そこには一般的に深刻な問題があります。 – Rob