如何处理:Calendar为.day提供在午夜重叠的DateIntervals

时间:2017-10-18 13:47:38

标签: swift date calendar dateinterval

我的锻炼应用程序需要检查特定时间点是否在特定日历日,因为每天都有特定的培训。

现在,当我开始使用方便的Calendar方法dateInterval(of: Calendar.Component, for: Date) -> DateInterval在我的锻炼计划中创建日历日(= DateInterval)时,我的测试突然失败。

我意识到在现实世界中,一天的结束(下午12点)等于第二天的开始(早上0点),我想这会反映在{{1}的行为。我学到了这一点,因为突然一些边缘案例日期值的测试(比如一天的开始)失败了:某些时间点突然属于两个日历日。所以我添加了以下测试 - 它失败了:

enter image description here

我目前的解决方案是,从这些DateIntervals的末尾手动减去几纳秒:

Calendar

但这感觉很糟糕。该API如何使用?

0 个答案:

没有答案