比较循环中的日期,然后添加间隔?

Comparing dates in loop, then adding interval?

我真的被这个问题困扰了一段时间。用户将设置一个自定义闹钟间隔,然后在选择器上选择一个日期,应用程序将设置为显示下一个闹钟。如果他们在过去设置它,我希望应用程序通过循环添加间隔,直到它在未来。

我一直在研究日期比较,但我似乎无能为力。你们将如何做到这一点?谢谢!

您可以添加此扩展程序以检查他们的日期是否早于给定日期:

extension NSDate
{
    func isGreaterThanDate(dateToCompare : NSDate) -> Bool
    {
        //Declare Variables
        var isGreater = false

        //Compare Values
        if self.compare(dateToCompare) == NSComparisonResult.OrderedDescending
        {
           isGreater = true
        }

       //Return Result
        return isGreater
    }


    func isLessThanDate(dateToCompare : NSDate) -> Bool
    {
        //Declare Variables
        var isLess = false

       //Compare Values
       if self.compare(dateToCompare) == NSComparisonResult.OrderedAscending
        {
            isLess = true
        }

        //Return Result
        return isLess
    }
}

要使用它,只需执行

let today = NSDate()//this creates a date object with current date
let isBeforeToday = today.isGreaterThanDate(aDate)//aDate is whatever date they pick from the picker

然后添加你可以做的间隔

today.dateByAddingTimeInterval(customInterval)//customInterval is in seconds

我不确定我是否确切知道你想做什么,但这至少应该让你开始比较日期并向它们添加间隔