时间间隔计算

小咪咪 2024-03-22 11:14 170阅读 0赞
  1. /**
  2. * 计算加油时长(分钟)
  3. *
  4. * @param dto
  5. * @return
  6. */
  7. /**
  8. * 获取加油时间
  9. * @param dto 加油明细DTO对象
  10. * @return 返回加油时长
  11. * @throws MachineBussinessException 抛出业务异常
  12. */
  13. @Override
  14. public BigDecimal getReFuelDuration(DoRefulDetailDTO dto) throws MachineBussinessException {
  15. // 若加油前或加油后的时间为空,则抛出业务异常
  16. if (ObjectUtil.isEmpty(dto.getRefuelBeforeTime()) || ObjectUtil.isEmpty(dto.getRefuelAfterTime())) {
  17. throw new MachineBussinessException(MachineErrorCodeEnum.RE_FUL_TIME_DURATION_ERROR);
  18. }
  19. // 计算加油时长(分钟)
  20. long duration = DateUtil.between(Date.from(dto.getRefuelBeforeTime().atZone(ZoneId.systemDefault()).toInstant()),
  21. Date.from(dto.getRefuelAfterTime().atZone(ZoneId.systemDefault()).toInstant()), DateUnit.MINUTE);
  22. return new BigDecimal(duration).setScale(2, RoundingMode.HALF_DOWN);
  23. }

发表评论

表情:
评论列表 (有 0 条评论,170人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java时间间隔

    Problem Description 从键盘输入两个时间点(24小时制),输出两个时间点之间的时间间隔,时间间隔用“小时:分钟:秒”表示。 如:3点5分25秒应表示