NSDate找到最接近今天的日期

Lil*_*oke 7 iphone xcode objective-c ipad ios

我有一个排序的NSDates数组.有人可以帮我找到最接近当前日期的数组中的日期吗?

我需要获取最接近日期的索引,以便我可以在tableview中滚动到该日期.

例如,如果我有2013年1月1日,2013年1月6日,2013年1月9日和2013年1月10日.我想要2013年1月6日的索引.

希望有道理.谢谢您的帮助.

更新:

我在尝试这个:

    NSTimeInterval interval = 0;
    NSUInteger indexOfDate;
    for (NSDate * date in m_arEventsSorted)
    {               
        if(abs([date timeIntervalSinceDate:[NSDate date]]) < interval)
        {
            interval = abs([date timeIntervalSinceDate:[NSDate date]]);
            indexOfDate = [m_arEventsSorted indexOfObject:date];
        }
    }
Run Code Online (Sandbox Code Playgroud)

tro*_*foe 7

NSDate提供了timeIntervalSinceNow(参考)方法,它返回一个NSTimeInterval(一个typedef"d double).只需使用此fabs()功能即可找到每个日期与现在之间的最小差异.