1. ホーム
  2. objective-c

[解決済み] iOSです。2つの日付を比較する

2023-01-23 02:14:22

質問

私は NSDate と比較する必要があります。 NSDate で試してみる。 NSOrderAscendingNSOrderDescending とありますが、もし私の日付が他の2つの日付と同じであれば?

例: もし私が myDate = 24/05/2011 があり、他の2つが1つの = 24/05/2011 と2 24/05/2011 を使うことができますか?

どのように解決するのですか?

によると の Apple ドキュメントによると NSDate compare:

受信者と別の与えられた日付の時間的順序を示すNSComparisonResultの値を返します。

- (NSComparisonResult)compare:(NSDate *)anotherDate

パラメータ anotherDate

比較対象となる日付は レシーバと比較する日付。この値はnilであってはならない。 この値がnilである場合、動作は未定義であり、将来変更される可能性がある。 未定義であり、将来のバージョンで変更される可能性があります。 Mac OS Xの将来のバージョンで変更される可能性があります。

戻り値

もし

受信者と anotherDate が は互いに正確に等しい。 NSOrderedSame

レシーバは の時刻になります。 NSOrderedDescending

レシーバは anotherDateより時間的に早い。 NSOrderedAscending

言い換えれば

if ([date1 compare:date2] == NSOrderedSame) ...

あなたの特定のケースでは、これを読んだり書いたりする方が簡単かもしれないことに注意してください。

if ([date2 isEqualToDate:date2]) ...

参照 Apple ドキュメントを参照してください。 .