Sky*_*leR 6 java datetime backend java-8
我想比较两个日期和今天的日期.是和之后是最好的吗?isAfter和isBefore无法检测到一天的变化.让我们说:
If today is 20 Nov. I put in range 20 Nov-21 Nov.
if(todayDate.isAfter(startDate) && todayDate.isBefore(endDate))
{
// task
}
Run Code Online (Sandbox Code Playgroud)
此代码不会检测到今天是在范围内.或/ || 不适用,因为我有一套待测试的范围.有什么想法吗?
这将解决它:只需添加一个检查,以确定今天的日期是您必须自己实现的开始日期还是结束日期
if( (todayDate.isAfter(startDate) && todayDate.isBefore(endDate) ) || (todayDate.isEqual(startDate) || todayDate.isEqual(endDate) )
{
// task
}
Run Code Online (Sandbox Code Playgroud)
这是因为isAfter并且isBefore都是严格的.
编辑:更合理的解决方案:
if(!todayDate.isAfter(endDate) && !todayDate.isBefore(startDate))
{
// task
}
Run Code Online (Sandbox Code Playgroud)
通过否定isAfter,它变为endDate或之前.
通过否定isBefore,它变为startDate或之后.
| 归档时间: |
|
| 查看次数: |
3569 次 |
| 最近记录: |