Java 获取两个时间的时间差

前言

在平时的工作中,难免会遇到获取两个时间相差多少天、小时、分钟、秒、毫秒,现在我将自己获取的方法总结如下:

一、导入需要的依赖

 <dependency>
       <groupId>cn.hutool</groupId>
       <artifactId>hutool-all</artifactId>
       <version>4.6.10</version>
</dependency>

二、方法的说明

## date1与date2 相差多少天
DateUtil.between(date1, date2, DateUnit.DAY);
## date1与date2 相差多少小时
DateUtil.between(date1, date2, DateUnit.HOUR);
## date1与date2 相差多少分钟
DateUtil.between(date1, date2, DateUnit.MINUTE); 
## date1与date2 相差多少秒
DateUtil.between(date1, date2, DateUnit.SECOND);
## date1与date2 相差多少毫秒
DateUtil.between(date1, date2, DateUnit.MS);

三、方法测试

public class DateTest {
    public static void main(String[] args) {
        Date data1 = DateUtil.parse("2022-09-07 12:23:25");
        Date date2 = DateUtil.parse("2022-09-07 18:23:25");
        System.out.println("两个时间相差 "+DateUtil.between(data1, date2, DateUnit.DAY)+" 天");
        System.out.println("两个时间相差 "+DateUtil.between(data1, date2, DateUnit.HOUR)+" 小时");
        System.out.println("两个时间相差 "+DateUtil.between(data1, date2, DateUnit.MINUTE)+" 分钟");
        System.out.println("两个时间相差 "+DateUtil.between(data1, date2, DateUnit.SECOND)+" 秒");
        System.out.println("两个时间相差 "+DateUtil.between(data1, date2, DateUnit.MS)+" 毫秒");
    }
}

四、控制台输出如下

两个时间相差 0 天
两个时间相差 6 小时
两个时间相差 360 分钟
两个时间相差 21600 秒
两个时间相差 21600000 毫秒

五、方法扩展

## 将字符串时间转成Date类型  输出:2022-09-07 12:23:25
DateUtil.parse("2022-09-07 12:23:25");
## 将Date类型转成字符串时间  输出:2022-09-07 16:42:05
DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss");
posted @ 2022-09-07 16:31  奋--斗  阅读(9772)  评论(0编辑  收藏  举报