【两种方式】Java求两个时间相差多少个小时/多少年/多少月

简介 在实际开发中,有时候,我们可能会遇到这样的情况:求两个时间之间相差几个小时。比如:开始时间是2023-03-03 10:30:00结束时间是:"2023-03-03 14:30:00"这两个时间之间相差几个小时?方式一:写工具类(Date startTimeDate endTimedenominator) { &nbs

小福利:

凯哥自己开发的,领取外卖、打车、咖啡、买菜、各大电商的优惠券的公¥众¥号。如下图:

527c8a82983e56a30f4299fc76e1956a.png

在实际开发中,有时候,我们可能会遇到这样的情况:

求两个时间之间相差几个小时。

比如:

开始时间是

2023-03-03 10:30:00

结束时间是:

"2023-03-03 14:30:00"

这两个时间之间相差几个小时?

方式一:写工具类

public static int differentDaysByMillisecond(Date startTime, Date endTime, long denominator) {
    return (int) ((endTime.getTime() - startTime.getTime()) / denominator);
}

main方法运行:

Date resultStartDate = SDF_HH_MM.parse("2023-03-03 10:30:00");
Date resultEndDate = SDF_HH_MM.parse("2023-03-03 14:30:00");
int resultDataSize = differentDaysByMillisecond(resultStartDate, resultEndDate, 1000 * 3600l);
System.out.println("resultDataSize间隔:"+resultDataSize);

运行后结果:

resultDataSize间隔:4

方式二:使用

cn.hutool.core.date。DateUtil

dateUtil工具类:

//把传入的开始与结束时间的时间段转成按小时列表
List<DateTime> dateTimes = DateUtil.rangeToList(DateUtil.parse("2023-03-03 10:30:00"), DateUtil.parse("2023-03-03 14:30:00"), DateField.HOUR_OF_DAY, 1);
System.out.println("间隔:"+dateTimes.size()+".时间:"+dateTimes);

运行结果:

间隔时间:5.时间:[2023-03-03 10:30:00, 2023-03-03 11:30:00, 2023-03-03 12:30:00, 2023-03-03 13:30:00, 2023-03-03 14:30:00]


小福利:

凯哥自己开发的,领取外卖、打车、咖啡、买菜、各大电商的优惠券的公¥众¥号。如下图:

527c8a82983e56a30f4299fc76e1956a.png

上一篇: 看过一个小故事

下一篇: IDEA安装yarn

TopTop