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");
古今成大事者,不唯有超世之才,必有坚韧不拔之志!