How to calculate time difference in java?

后端 未结 17 1524
醉酒成梦
醉酒成梦 2020-11-22 16:33

I want to subtract two timeperiods say 16:00:00 from 19:00:00. Is there any java function for this? The results can be in milliseconds, seconds, or minutes.

17条回答
  •  情深已故
    2020-11-22 16:51

    Аlternative option if time from different days is taken, for example: 22:00 and 01:55.

    public static long getDiffTime(Date date1, Date date2){
            if (date2.getTime() - date1.getTime() < 0) {// if for example date1 = 22:00, date2 = 01:55.
                Calendar c = Calendar.getInstance();
                c.setTime(date2);
                c.add(Calendar.DATE, 1);
                date2 = c.getTime();
            } //else for example date1 = 01:55, date2 = 03:55.
            long ms = date2.getTime() - date1.getTime();
    
            //235 minutes ~ 4 hours for (22:00 -- 01:55).
            //120 minutes ~ 2 hours for (01:55 -- 03:55).
            return TimeUnit.MINUTES.convert(ms, TimeUnit.MILLISECONDS);
        }
    

提交回复
热议问题