1. /**
    2. * 计算时间差
    3. * @param beginTime 开始时间
    4. * @param endTime 结束时间
    5. * @param beginTimeFormat 开始时间格式
    6. * @param endTimeFormat 结束时间格式
    7. * @param returnTime 输出类型 0:天,1:小时,2:分钟,3:秒,4:毫秒
    8. */
    9. public static Long timeDifference(String beginTime, TimeFormatEnum beginTimeFormat,
    10. String endTime, TimeFormatEnum endTimeFormat,
    11. Integer returnTime) {
    12. DateTimeFormatter beginFormatter = DateTimeFormat.forPattern(beginTimeFormat.getFormat());
    13. DateTimeFormatter endTFormatter = DateTimeFormat.forPattern(endTimeFormat.getFormat());
    14. DateTime begin = DateTime.parse(beginTime, beginFormatter);
    15. DateTime end = DateTime.parse(endTime, endTFormatter);
    16. // 计算区间毫秒数
    17. Duration etime = new Duration(begin, end);
    18. switch (returnTime) {
    19. case 0:
    20. return etime.getStandardDays();
    21. case 1:
    22. return etime.getStandardHours();
    23. case 2:
    24. return etime.getStandardMinutes();
    25. case 3:
    26. return etime.getStandardSeconds();
    27. default:
    28. return etime.getMillis();
    29. }
    30. }