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

  • 作者: 凯哥Java(公众号:凯哥Java)
  • 工作小总结
  • 时间:2023-03-07 00:29
  • 2295人已阅读
简介 在实际开发中,有时候,我们可能会遇到这样的情况:求两个时间之间相差几个小时。比如:开始时间是2023-03-03 10:30:00结束时间是:"2023-03-03 14:30:00"这两个时间之间相差几个小时?方式一:写工具类(Date startTimeDate endTimedenominator) { &nbs

🔔🔔好消息!好消息!🔔🔔

 如果您需要注册ChatGPT,想要升级ChatGPT4。凯哥可以代注册ChatGPT账号代升级ChatGPT4

有需要的朋友👉:微信号 kaigejava2022

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

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

比如:

开始时间是

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]


上一篇: 看过一个小故事

下一篇: IDEA安装yarn

TopTop