检测哪个课程最接近现在

时间:2013-08-15 14:33:07

标签: ios date nsdate uipickerview

我有一个不同课程时间的阵列。以下是我的数组包含哪种信息的示例:

09.00 - 10.00,11.00 - 12.00,13.00 - 14.00,15.00 - 16.00

我在UIPickerView中显示这些课程,以便让用户选择所需的时间。但我希望PickerView能够自动预选最接近实际时间的课程。我会以某种方式将它与实际日期进行比较。有人知道怎么做吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

这将给出当前小时:分钟

    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"HH:mm"];
    NSString *str = [dateFormat stringFromDate:[NSDate date]];

然后你可以找到差异并检查最低限度。

现在你可以把条件放在:

if      (hh <= 10 )            { // 09:00 - 10:00 should come }
else if (hh == 10 && mm < 30 ) { // 09:00 - 10:00 should come }

else if (hh == 10 && mm > 30 ) { // 11:00 - 12:00 should come }
else if (hh <= 12 && mm < 30 ) { // 11:00 - 12:00 should come }

else if (hh == 14 && mm < 30 ) { // 13:00 - 14:00 should come }
else if (hh <= 14 && mm > 30 ) { // 13:00 - 14:00 should come }

else if (hh == 14 && mm < 30 ) { // 15:00 - 16:00 should come }
else if (hh <= 14 && mm > 30 ) { // 15:00 - 16:00 should come }
else                           { // 15:00 - 16:00 should come }