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