我有两个NSDate
对象。一个(称之为date1
)有未来的时间戳,即2012-07-16 12:00
,而且这个日期每天都在重复。另一个(date2
)在未来也具有时间戳,即2012-07-17 12:00
。
现在我想检查date1
是否可能与date2
发生冲突。显然,它不会在2012-07-16 12:00
发生冲突,但第二天(因为它每天都在重复)它会与date2
发生冲突。
我该如何执行此检查?
首先检查事件是否在任何日期重叠,即只使用事件的开始时间和长度。如果是,则检查日期是否相同,或者日期中较早的日期是否适用于重复次数足以在第二个事件的日期发生的事件。
要比较时间,可以使用类似的方法从NSDate中提取小时和分钟:如何从NSDate获得小时和分钟?
对于第二次检查,您可以首先使用NSDate的compare
,然后使用timeIntervalSinceDate
,您可以将其输入到以下内容中:如何在iPhone上将NSTimeInterval分解为年、月、天、小时、分钟和秒?获取两个日期之间的天数,然后可以将其与事件的重复次数进行比较。