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);
}