我想比较两个日期和今天的日期。是和之后是最好的吗? isAfter和isBefore无法检测到一天的变化。让我们说:
If today is 20 Nov. I put in range 20 Nov-21 Nov.
if(todayDate.isAfter(startDate) && todayDate.isBefore(endDate))
{
// task
}
此代码不会检测到今天是在范围内。或/ ||不适用,因为我有一套待测试的范围。对此有何想法?
答案 0 :(得分:7)
这将解决这个问题:只需添加一项检查,确定今天是开始日期还是结束日期,您必须自行实施
if( (todayDate.isAfter(startDate) && todayDate.isBefore(endDate) ) || (todayDate.isEqual(startDate) || todayDate.isEqual(endDate) )
{
// task
}
这是因为isAfter
和isBefore
都是严格的。
编辑:更合理的解决方案:
if(!todayDate.isAfter(endDate) && !todayDate.isBefore(startDate))
{
// task
}
通过否定isAfter
,它变为endDate或之前。
通过否定isBefore
,它变为startDate或之后。