0

我有一个项目需要获取当前日期/时间。从那个日期/时间开始,我需要转换为 6 个不同时区的日期/时间。转换时代是没有问题的。

然后从每个转换后的日期/时间,我需要查看该日期是否在每周更改的其他两个日期之间。我猜测每周变化的时间可能是一系列日期。该时区中的当前日期/时间需要找出数组中需要检查自身的日期/时间。最近的之前和最近的之后。这听起来很混乱,只是打字。

任何指向我正确方向的帮助都会非常有帮助。

谢谢

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

要检查日期是否在指定范围内,只需获取 unix 时间戳并直接比较它们,如下所示:

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

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

您也可以使用NSDate'-compare:方法,但我认为比较时间戳更自然。

于 2012-02-03T21:12:40.093 回答