时间间隔计算 小咪咪 2024-03-22 11:14 34阅读 0赞 /** * 计算加油时长(分钟) * * @param dto * @return */ /** * 获取加油时间 * @param dto 加油明细DTO对象 * @return 返回加油时长 * @throws MachineBussinessException 抛出业务异常 */ @Override public BigDecimal getReFuelDuration(DoRefulDetailDTO dto) throws MachineBussinessException { // 若加油前或加油后的时间为空,则抛出业务异常 if (ObjectUtil.isEmpty(dto.getRefuelBeforeTime()) || ObjectUtil.isEmpty(dto.getRefuelAfterTime())) { throw new MachineBussinessException(MachineErrorCodeEnum.RE_FUL_TIME_DURATION_ERROR); } // 计算加油时长(分钟) long duration = DateUtil.between(Date.from(dto.getRefuelBeforeTime().atZone(ZoneId.systemDefault()).toInstant()), Date.from(dto.getRefuelAfterTime().atZone(ZoneId.systemDefault()).toInstant()), DateUnit.MINUTE); return new BigDecimal(duration).setScale(2, RoundingMode.HALF_DOWN); }
还没有评论,来说两句吧...