查找最近的五个时间

时间:2013-10-28 02:41:34

标签: objective-c date time nsdate

我目前有一个不同时间的数组。这些是用户定义的,每隔30分钟。所以,一个例子可能是:

NSMutableArray *times = [[NSMutableArray alloc] initWithObjects: @"9:30", @"12:00", @"13:30", @"17:00", nil];

此外,不同时间的数量可以从1到5不等。

现在我想找到最接近当前时间的那个。例如,如果现在是11:00,在上面的示例中,它将返回12:00。

这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:2)

循环遍历数组,将每一个与当前时间进行比较。将最接近的一个存储在循环外的变量中,每次检查该变量并仅在迭代器值更接近时更新其值。我不是故意发布代码,因为这是你需要学习成为开发人员的事情。

答案 1 :(得分:0)

存储字符串无法帮助您比较“时间”。 尝试在NSTimeInterval中存储“时间”。

然后你应该能够比较并选择最接近当前时间的时间。

编辑: 如何转换为NSTimeInterval以及如何比较的方式应该留给您实现。