0

現在の日付/時刻を取得する必要があるプロジェクトがあります。その日付/時刻から、6 つの異なるタイムゾーンの日付/時刻に変換する必要があります。時間を換算しても問題ありません。

次に、変換された日付/時刻のそれぞれから、その日付が毎週変わる他の 2 つの日付の間にあるかどうかを確認する必要があります。毎週変わる時間は、日付の配列になる可能性があると推測しています。そのタイムゾーンの現在の日付/時刻は、それ自体をチェックする必要がある配列内の日付/時刻を見つける必要があります。最も近い前と最も近い後。これは、これを入力するだけで非常に混乱するように聞こえます。

私を正しい方向に向ける助けは非常に役に立ちます。

ありがとうございました

4

2 に答える 2

0
NSDate *date1;
NSDate *date2;
NSDate *date3;

NSTimeInterval firstTimeInterval = [date1 timeIntervalSince1970];
NSTimeInterval secondTimeInterval = [date2 timeIntervalSince1970];
NSTimeInterval thirdTimeInterval = [date3 timeIntervalSince1970];

if (firstTimeInterval<secondTimeInterval && secondTimeInterval<thirdTimeInterval) {
    // date2 > date1 and date2 < date3
}

もちろん、私の場合、日付に住所がないためにクラッシュしますが、これは単なる例です...実際の日付を含める必要があります。

于 2012-02-03T21:11:23.143 に答える
0

To check if a date is in a specified range just get the unix timestamps and compare them directly like so:

NSDate *lowerLimit = ...
NSDate *upperLimit = ...
NSDate *myDate = ...

BOOL inRange = (lowerLimit.timeIntervalSince1970 <= myDate.timeIntervalSince1970) &&
  (upperLimit.timeIntervalSince1970 >= myDate.timeIntervalSince1970);

You could also use NSDate's -compare: method, but I think it's more natural to compare the timestamps.

于 2012-02-03T21:12:40.093 に答える