java 判断当前时间是否在指定时间段内包含时区及跨天时间段

背景:一句话需求“我需要判断当前是否在一段时间内”

目前网上提供了很多方法,但是都是考虑了一种情况,这种情况就是先假定这个时间段是发生在同一天,比如“00:00-

23:59” ,“00:00-18:00”,

代码很简单,copy一段网上代码

 

 

但是如果考虑到跨天呢?比如 “18:00-06:00”,

“07:00-06:59”就没法很直接的判断了。

如果按上述代码 当前时间为00:46,那么我们大脑一想肯定是符号当前时间段的,但是代码却会判断不在当前时间范围内

为了满足上面案例,我的解决方案是,先判断结束时间是否小于开始时间,如果true,则认为是跨天,将开始时间减一天,结束时间按当前时间算。

 

尝试改下代码

 

 

main方法跑一下试试:

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值