如何使用比较运算符在Java中比较日期?
如何使用比较运算符在Java中比较日期 例如: 日期1为2017年10月30日 日期2为2017年10月31日 日期3为2018年10月30日 当date2小于date3时应为true,则date2返回false。如果日期小于另一个日期,我如何返回true,否则返回false 这是我的代码: 返回日<日期.日|月<日期.月|年<日期.年 以下是我当前的解决方案:如何使用比较运算符在Java中比较日期?,java,date,comparison,boolean-expression,comparison-operators,Java,Date,Comparison,Boolean Expression,Comparison Operators,如何使用比较运算符在Java中比较日期 例如: 日期1为2017年10月30日 日期2为2017年10月31日 日期3为2018年10月30日 当date2小于date3时应为true,则date2返回false。如果日期小于另一个日期,我如何返回true,否则返回false 这是我的代码: 返回日
{
boolean check = false;
if(year < theDate.year)
{
return true;
}
if(year > theDate.year)
{
return false;
}
if(month < theDate.month)
{
check = true;
}
if(day < theDate.day)
{
check = true;
}
else
{
return false;
}
return check;
}
您不能直接使用关系运算符,但日期/时间类型通常实现可比较的 因此,您应该能够对逻辑日期1
我认为java不接受日期上的比较运算符。但是您可以将LocalDateAPI与isBefore和isAfter方法一起使用?完全限定是java.util.Date,还是java.time.LocalDate或其他?我正在比较为日期对象设置的数值。我使用的字段是日、月和年的整数。所以我试着检查这些值。@julianrios我不明白你想说什么。这是我的java入门课程的作业。所以我有点迷路了。我正在用bluej编写代码,我认为我无法访问此作业的api。对不起,我不明白。@julianrios日期使用什么类?有没有办法插入我所有的代码?查看我的字段和方法中的内容可能会更容易。@julianrios您可以在问题下方按“编辑”按钮并添加一些内容
LocalDate date1 = LocalDate.of(2017, 10, 30); // Year, month, day.
LocalDate date2 = LocalDate.of(2017, 10, 31);
LocalDate date3 = LocalDate.of(2018, 10, 30);
System.out.printf("%s before %s? %s%n", date1, date2, date1.isBefore(date2));
System.out.printf("%s before %s? %s%n", date2, date3, date3.isBefore(date3));
System.out.printf("%s before %s? %s%n", date3, date1, date3.isBefore(date1));