我的锻炼应用程序需要检查特定时间点是否在特定日历日,因为每天都有特定的培训。
现在,当我开始使用方便的Calendar
方法dateInterval(of: Calendar.Component, for: Date) -> DateInterval
在我的锻炼计划中创建日历日(= DateInterval
)时,我的测试突然失败。
我意识到在现实世界中,一天的结束(下午12点)等于第二天的开始(早上0点),我想这会反映在{{1}的行为。我学到了这一点,因为突然一些边缘案例日期值的测试(比如一天的开始)失败了:某些时间点突然属于两个日历日。所以我添加了以下测试 - 它失败了:
我目前的解决方案是,从这些DateIntervals的末尾手动减去几纳秒:
Calendar
但这感觉很糟糕。该API如何使用?