jjzjj

java - isAfter isBefore Java 8 LocalDateTime 一日不同

coder 2024-03-29 原文

我想将两个日期与今天的日期进行比较。 isAfter 和 isBefore 最适合这个吗? isAfter 和 isBefore 无法检测到一天的变化。比方说:

If today is 20 Nov. I put in range 20 Nov-21 Nov.

if(todayDate.isAfter(startDate) && todayDate.isBefore(endDate))
{
  // task
}

此代码不会检测到今天在范围内。或者/||不适用,因为我有一组要测试的范围。对此有什么想法吗?

最佳答案

这将解决它:只需添加一个检查今天的日期是您必须自己实现的开始日期还是结束日期

if( (todayDate.isAfter(startDate) && todayDate.isBefore(endDate) ) || (todayDate.isEqual(startDate) || todayDate.isEqual(endDate) )
{
     // task
}

这是因为 isAfterisBefore 都是严格的。

编辑: 更好更合乎逻辑的解决方案:

if(!todayDate.isAfter(endDate) && !todayDate.isBefore(startDate))
{
    // task
}

通过否定 isAfter,它变成 endDate 或之前。

通过否定 isBefore,它变成 startDate 或之后。

关于java - isAfter isBefore Java 8 LocalDateTime 一日不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33817232/

有关java - isAfter isBefore Java 8 LocalDateTime 一日不同的更多相关文章

随机推荐