How to calculate time difference in java?

后端 未结 17 1575
醉酒成梦
醉酒成梦 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 17:15

        /*
     * Total time calculation.
     */
    private void getTotalHours() {
        try {
            // TODO Auto-generated method stub
            if (tfTimeIn.getValue() != null && tfTimeOut.getValue() != null) {
                Long min1 = tfTimeOut.getMinutesValue();
                Long min2 = tfTimeIn.getMinutesValue();
                Long hr1 = tfTimeOut.getHoursValue();
                Long hr2 = tfTimeIn.getHoursValue();
                Long hrsTotal = new Long("0");
                Long minTotal = new Long("0");
                if ((hr2 - hr1) == 1) {
                    hrsTotal = (long) 1;
                    if (min1 != 0 && min2 == 0) {
                        minTotal = (long) 60 - min1;
                    } else if (min1 == 0 && min2 != 0) {
                        minTotal = min2;
                    } else if (min1 != 0 && min2 != 0) {
                        minTotal = min2;
                        Long minOne = (long) 60 - min1;
                        Long minTwo = min2;
                        minTotal = minOne + minTwo;
                    }
                    if (minTotal >= 60) {
                        hrsTotal++;
                        minTotal = minTotal % 60;
                    }
                } else if ((hr2 - hr1) > 0) {
                    hrsTotal = (hr2 - hr1);
                    if (min1 != 0 && min2 == 0) {
                        minTotal = (long) 60 - min1;
                    } else if (min1 == 0 && min2 != 0) {
                        minTotal = min2;
                    } else if (min1 != 0 && min2 != 0) {
                        minTotal = min2;
                        Long minOne = (long) 60 - min1;
                        Long minTwo = min2;
                        minTotal = minOne + minTwo;
                    }
                    if (minTotal >= 60) {
                        minTotal = minTotal % 60;
                    }
                } else if ((hr2 - hr1) == 0) {
                    if (min1 != 0 || min2 != 0) {
                        if (min2 > min1) {
                            hrsTotal = (long) 0;
                            minTotal = min2 - min1;
                        } else {
                            Notification.show("Enter A Valid Time");
                            tfTotalTime.setValue("00.00");
                        }
                    }
                } else {
                    Notification.show("Enter A Valid Time");
                    tfTotalTime.setValue("00.00");
                }
                String hrsTotalString = hrsTotal.toString();
                String minTotalString = minTotal.toString();
                if (hrsTotalString.trim().length() == 1) {
                    hrsTotalString = "0" + hrsTotalString;
                }
                if (minTotalString.trim().length() == 1) {
                    minTotalString = "0" + minTotalString;
                }
                tfTotalTime.setValue(hrsTotalString + ":" + minTotalString);
            } else {
                tfTotalTime.setValue("00.00");
            }
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
    

提交回复
热议问题