NSDateことを覚えておいてくださいどのような形であれ「一日」を表すわけではありません。 NSCalendar(通常はユーザーのデフォルトカレンダー)を使用してNSDateComponentsを使って少しの作業をして、開始NSDate値と終了NSDate値を調べ、それを使って時間間隔を比較します。
私は、あなたの日の中にあるNSDateを取り、それをNSDateComponentsに変換することから始めますが、数時間、数分、または秒はありません。ここではあなたが始めるのに役立つ迅速な(未テスト)の例です:氏Jalkutにより示唆されるように
NSDateComponents *comps = [[NSCalendar currentCalendar] components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:[NSDate date]];
NSDateComponents *day = [[[NSDateComponents alloc] init] autorelease];
[day setDay:1];
NSDate *start = [[NSCalendar currentCalendar] dateFromComponents:comps];
NSDate *end = [[NSCalendar currentCalendar] dateByAddingComponents:day toDate:start options:0];
は、その後、あなたが時間間隔を比較することができます(または別の方法、NSDateは、いくつかの異なる方法でNSTimeIntervalsで作業することができます)。私は間違いなく、ドキュメントでNSCalendarとNSDateComponentsを調べるのに少し時間を費やしていますが、あなたがしなければならないことについて私が示唆しているものよりも優れた方法が見つかるかもしれません。
ピーターのポイントは有効と思われます。私が示唆したように自分自身でそれを解釈しようとするのではなく、この種の日付比較をするのがNSCalendarを使うほうが良いということに人々が同意するなら、私は答えを撤回するでしょう。 – danielpunkass
あなたの投稿はとても役に立ちます。あなたの知恵を共有してくれてありがとう。 Daniel、あなたの投稿は、私が扱っている他の問題にも役立ちました。ピーターのポストは、手元のトピックを直接扱っています。ありがとうございました。 –