3 回答
TA贡献1846条经验 获得超7个赞
尝试这个
try {
SimpleDateFormat fmt = new SimpleDateFormat(DATE_YYYY_MM_ddTHH_MM_SS_Z);
Date date1 = fmt.parse(entity.getDateReservation());
Date date2 = new Date();
// Calculates the difference in milliseconds.
long millisDiff = nowDate.getTime() - date1.getTime();
int minutes = (int) (millisDiff / 60000 % 60);
if( minutes<1 && minutes>=0)
return true;
else
//what you want if false;
} catch (Exception e) {
// log exception
}
...将可能的异常写入日志也可能很方便。你好!
TA贡献1851条经验 获得超5个赞
// thank you so much That's what I did
Date date1 = adresse.getDateReservation();
Date date2 = new Date();
long millisDiff = (date2.getTime() - date1.getTime());
long minutes = (long) (millisDiff / (60000));
if(minutes > 1){
adresse.setStatut(EnumStatutAdresse.LIBRE.toString());
adresse.setReserverPar(null);
}
adresseDao.save(adresse);
TA贡献1831条经验 获得超10个赞
if(date1.getTime() >= (date2.getTime() + TimeUnit.MINUTES.toMillis(1))){ .... }
可能是一个简单的方法。这主要检查预订时间是否等于或大于当前时间后 1 分钟。比较以毫秒为单位进行。
可能有更多方法可以做到这一点,具体取决于您拥有的库和 java 版本。
添加回答
举报