Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java LocalDateTime和比较_Java_Methods - Fatal编程技术网

Java LocalDateTime和比较

Java LocalDateTime和比较,java,methods,Java,Methods,我正在尝试创建一个方法,该方法返回一个布尔值,将当前的月份日期和年份与提供的、保存的月份日期和年份进行比较。这是我的代码,我不确定我做错了什么,但我提供的所有日期都是真的。我想我宣布了一些错误,但我不确定 public boolean isExpired(){ boolean expired = true; LocalDateTime today = LocalDateTime.now(); int month = today.getMonthValue();

我正在尝试创建一个方法,该方法返回一个布尔值,将当前的月份日期和年份与提供的、保存的月份日期和年份进行比较。这是我的代码,我不确定我做错了什么,但我提供的所有日期都是真的。我想我宣布了一些错误,但我不确定

public boolean isExpired(){
    boolean expired = true;

    LocalDateTime today = LocalDateTime.now();
    int month = today.getMonthValue();
    int year = today.getYear();
    int day = today.getDayOfMonth();

    if((this.expYear <= year) && (this.expMonth <= month) && (this.expDay <= day))
    {
        expired = false;
    }

    return expired;
}
public boolean isExpired(){
布尔值=真;
LocalDateTime today=LocalDateTime.now();
int month=today.getMonthValue();
int year=today.getYear();
int day=today.getDayOfMonth();

如果((this.expYear使用(…)的
LocalDate.of
从过期日期创建一个
LocalDate
对象,您可以在类的构造函数中执行此操作

private LocalDate expDate;

MyClass(int expYear, int expMonth, int expDay) {
    expDate = LocalDate.of(expYear, expMonth, expDay);
无需分别记住expYear、expMonth和expDay字段,因为您始终可以从
expDate
中检索它们

您的isExpired方法变为:

return !LocalDate.now().isBefore(expDate);
public boolean isExpired(){
布尔过期=假;
LocalDateTime today=LocalDateTime.now();
int month=today.getMonthValue();
int year=today.getYear();
int day=today.getDayOfMonth();

如果((this.expYear
public boolean isExpired() {        
     LocalDate expiredDate = LocalDate.of(expYear, expMonth, expDay);       
     return LocalDate.now().isBefore(expiredDate);  
}

因此,如果到期日是2018—9-2,而今天是2019-7-1,您会考虑由于月份比较而过期吗?我会将到期日存储为本地日期,并执行<代码>返回期满。在(今天)首先,我将使用<代码> LoalDATE < /C> >然后使用<代码>在 /<代码>之后< < /Cord> >支持您需要使用嵌套的IFS。
public boolean isExpired() {        
     LocalDate expiredDate = LocalDate.of(expYear, expMonth, expDay);       
     return LocalDate.now().isBefore(expiredDate);  
}