我有一个项目需要获取当前日期/时间。从那个日期/时间开始,我需要转换为 6 个不同时区的日期/时间。转换时代是没有问题的。
然后从每个转换后的日期/时间,我需要查看该日期是否在每周更改的其他两个日期之间。我猜测每周变化的时间可能是一系列日期。该时区中的当前日期/时间需要找出数组中需要检查自身的日期/时间。最近的之前和最近的之后。这听起来很混乱,只是打字。
任何指向我正确方向的帮助都会非常有帮助。
谢谢
我有一个项目需要获取当前日期/时间。从那个日期/时间开始,我需要转换为 6 个不同时区的日期/时间。转换时代是没有问题的。
然后从每个转换后的日期/时间,我需要查看该日期是否在每周更改的其他两个日期之间。我猜测每周变化的时间可能是一系列日期。该时区中的当前日期/时间需要找出数组中需要检查自身的日期/时间。最近的之前和最近的之后。这听起来很混乱,只是打字。
任何指向我正确方向的帮助都会非常有帮助。
谢谢
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
}
当然,在我的情况下它会崩溃,因为日期没有地址,但这只是一个例子......你需要在其中包含实际日期。
要检查日期是否在指定范围内,只需获取 unix 时间戳并直接比较它们,如下所示:
NSDate *lowerLimit = ...
NSDate *upperLimit = ...
NSDate *myDate = ...
BOOL inRange = (lowerLimit.timeIntervalSince1970 <= myDate.timeIntervalSince1970) &&
(upperLimit.timeIntervalSince1970 >= myDate.timeIntervalSince1970);
您也可以使用NSDate
'-compare:
方法,但我认为比较时间戳更自然。