我在这里有一段代码用java中的SQL日期类型来计算某人的年龄。 代码工作正常,但是你在这里粘贴的代码中看不到它,但是在我的netbeans环境中,get方法被删除了,但只在这一行:
LocalDate datumDB = LocalDate.of(gbdat.getYear() + 1900, gbdat.getMonth() + 1,
gbdat.getDate());
有谁知道为什么?
此行未划掉:
int leeftijd = datumVanVandaag.getYear() - datumDB.getYear();
这是我的代码:
private void checkSpelerGeschiktVoorPloeg(Persoon p) {
Date gbdat = p.getGbDatum();
LocalDate datumVanVandaag = LocalDate.now();
LocalDate datumDB = LocalDate.of(gbdat.getYear() + 1900, gbdat.getMonth() + 1, gbdat.getDate());
int leeftijd = datumVanVandaag.getYear() - datumDB.getYear();
}
答案 0 :(得分:7)
删除线表示不推荐使用这些方法。您应该使用java.util.Calendar或新的Java 8 Datetime API(这是您正在使用的LocalDate所使用的新的和改进的API)来计算日期的这些值。
例如,API文档说:
@Deprecated
public int getYear()已过时。 从JDK 1.1版开始,由Calendar.get(Calendar.YEAR) - 1900取代。
返回一个值,该值是从包含或以此Date对象表示的时刻开始的年份减去1900的结果,如本地时区中所解释的那样。