比较循环中的日期,然后添加间隔?
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
我不确定我是否确切知道你想做什么,但这至少应该让你开始比较日期并向它们添加间隔
我真的被这个问题困扰了一段时间。用户将设置一个自定义闹钟间隔,然后在选择器上选择一个日期,应用程序将设置为显示下一个闹钟。如果他们在过去设置它,我希望应用程序通过循环添加间隔,直到它在未来。
我一直在研究日期比较,但我似乎无能为力。你们将如何做到这一点?谢谢!
您可以添加此扩展程序以检查他们的日期是否早于给定日期:
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
我不确定我是否确切知道你想做什么,但这至少应该让你开始比较日期并向它们添加间隔