-9

2つの日付を比較したい.これは私が書いたコードです

NSDate *c_date=[NSDate date];

NSDate  *newDate = [c_date dateByAddingTimeInterval:300];

このコードは機能していませんか?何が欠けていますか?

4

4 に答える 4

3

NSDateから、使用できます

- (NSComparisonResult)compare:(NSDate *)anotherDate
于 2013-11-12T13:45:44.760 に答える
0

これが問題です(まあ、それは問題かもしれませんが、あなたの質問から完全に100%明確ではありません)。NSDate は、1970 年 1 月 1 日からの間隔を秒単位で表します。内部的には、浮動小数点数 (OS X では double、iOS では不明) を使用します。これは、2 つの NSDates が等しいかどうかを比較することはドライ ヒット アンド ミスであることを意味します。実際にはほとんどがミスです。

ある日付が別の日付の 1/2 秒以内にあることを確認したい場合は、次を試してください。

fabs([firstDate timeIntervalSinceDate: secondDate]) < 0.5

両方の日付を同じ日にしたいだけなら、NSCalendar と date componentsをいじる必要があります。

このSOの回答も参照してください。

https://stackoverflow.com/a/6112384/169346

于 2013-11-12T14:00:51.693 に答える