isAfter isBefore Java 8 LocalDateTime 一日不同
isAfter isBefore Java 8 LocalDateTime One Day Different
我想将两个日期与今天的日期进行比较。 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
}
这是因为 isAfter
和 isBefore
都是严格的。
编辑: 更合理的解决方案:
if(!todayDate.isAfter(endDate) && !todayDate.isBefore(startDate))
{
// task
}
通过取反 isAfter
,它变为 endDate 或之前。
通过取反 isBefore
,它变为 startDate 或之后。
我想将两个日期与今天的日期进行比较。 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
}
这是因为 isAfter
和 isBefore
都是严格的。
编辑: 更合理的解决方案:
if(!todayDate.isAfter(endDate) && !todayDate.isBefore(startDate))
{
// task
}
通过取反 isAfter
,它变为 endDate 或之前。
通过取反 isBefore
,它变为 startDate 或之后。