有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在Java8中与LocalDate实现更少的需求和更高的质量

我想测试小于或等于大于或等于的日期。 我在LocalDateAPI中找不到任何相关函数。有isBeforeisEqualisAfter

我加一天,减一天来达到同样的效果。有没有更好的功能来实现同样的功能

            boolean isGTOperator = filterOperator == OperatorEnum.GT;
            boolean isLTOperator = filterOperator == OperatorEnum.LT;
            boolean isLTEqualOperator = filterOperator == OperatorEnum.LTE;
            boolean isGTEqualOperator = filterOperator == OperatorEnum.GTE;

 if (isGTOperator ) {
                    return (myDate).isAfter(filterDate);

                } else if (isGTEqualOperator ) {
                    return (myDate).isAfter(filterDate.plusDays(1));
                }
                else if (isLTOperator ) {
                    return ( myDate).isBefore(filterDate);

                } else if (isLTEqualOperator ) {
                    return (myDate).isBefore(filterDate.minusDays(1));

                }

共 (2) 个答案

  1. # 1 楼答案

    看起来你可以用Date。compareTo()。如果日期相等,返回值将为0;如果日期在参数日期之后,返回值将大于0;如果日期在参数日期之前,返回值将小于0This是一个有用的参考资料

  2. # 2 楼答案

    假设你有两个约会,即date1和date2

    第一种方法日期。compareTo()

    如果两个日期相等,则返回0

    如果date1大于date2,则返回大于0的值date1.compareTo(date2)>0

    如果date1小于date2,则返回小于0的值date1.compareTo(date2)<0

    第二种方法等于、之前、之后

    这些方法按照它们的名称工作,即

    if(date1.equals(date2)){System.out.println("true");}
    
    if(date1.after(date2)){System.out.println("true");}
    
    if(date1.before(date2)){System.out.println("true");}
    

    注意上述方法用于比较日期(),即java。util。日期