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 版本。
添加回答
舉報