背景:一句话需求“我需要判断当前是否在一段时间内”
目前网上提供了很多方法,但是都是考虑了一种情况,这种情况就是先假定这个时间段是发生在同一天,比如“00:00-
23:59” ,“00:00-18:00”,
代码很简单,copy一段网上代码
但是如果考虑到跨天呢?比如 “18:00-06:00”,
“07:00-06:59”就没法很直接的判断了。
如果按上述代码 当前时间为00:46,那么我们大脑一想肯定是符号当前时间段的,但是代码却会判断不在当前时间范围内
为了满足上面案例,我的解决方案是,先判断结束时间是否小于开始时间,如果true,则认为是跨天,将开始时间减一天,结束时间按当前时间算。
尝试改下代码
main方法跑一下试试: