王金铎王 2018-10-08 01:52 采纳率: 100%
浏览 1404

Java计算两个时间内加班时长 求大神帮忙

两个时间段比如 2018-10-08 17:30:00 到 2018-10-10 08:30:00
其中每天早上9点到下午六点是上班时间
我该怎么排除每天的上班时间。

        举例:
        2018-10-08 17:30:00 到 2018-10-08 18:30:00 加班时长 0.5 小时
        2018-10-08 17:00:00 到 2018-10-08 19:00:00 加班时长 1 小时
        2018-10-08 17:00:00 到 2018-10-09 10:00:00 加班时长 15 小时
        2018-10-08 17:00:00 到 2018-10-09 19:00:00 加班时长 16 小时
        以此类推
  • 写回答

2条回答 默认 最新

  • tangpd_ 2018-10-08 02:30
    关注

    public static String getDatePoor(Date endDate, Date nowDate) {

    long nd = 1000 * 24 * 60 * 60;
    long nh = 1000 * 60 * 60;
    long nm = 1000 * 60;
    // long ns = 1000;
    // 获得两个时间的毫秒时间差异
    long diff = endDate.getTime() - nowDate.getTime();
    // 计算差多少天
    long day = diff / nd;
    // 计算差多少小时
    long hour = diff % nd / nh;
        return  hour + "小时" ;
    

    }

    评论

报告相同问题?