为了账号安全,请及时绑定邮箱和手机立即绑定

检查此日期是否超过新日期的一分钟

检查此日期是否超过新日期的一分钟

12345678_0001 2023-08-04 17:35:57
问题我该如何做一个条件来检查 dateReservation 是否超过新日期的一分钟!代码    Adresse entity = adresseDao.findOne(id);    entity.setStatut("RESERVER");    entity.setDateReservation(new Date());     Date date1 = entity.getDateReservation();    Date date2 = new Date();    entity.setReserverPar(secUtilisateurService.getCurrentUser());    adresseDao.save(entity);
查看完整描述

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

    }

...将可能的异常写入日志也可能很方便。你好!


查看完整回答
反对 回复 2023-08-04
?
江户川乱折腾

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


查看完整回答
反对 回复 2023-08-04
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

if(date1.getTime() >= (date2.getTime() + TimeUnit.MINUTES.toMillis(1))){
 ....
}

可能是一个简单的方法。这主要检查预订时间是否等于或大于当前时间后 1 分钟。比较以毫秒为单位进行。

可能有更多方法可以做到这一点,具体取决于您拥有的库和 java 版本。


查看完整回答
反对 回复 2023-08-04
  • 3 回答
  • 0 关注
  • 115 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信