计算两个时间的时间差(天、时、分、秒)

编程入门 行业动态 更新时间:2024-10-22 17:17:17

计算两个时间的<a href=https://www.elefans.com/category/jswz/34/1749697.html style=时间差(天、时、分、秒)"/>

计算两个时间的时间差(天、时、分、秒)

计算两个时间的时间差,通过计算得到星期、天、时、分、秒,这种场景多得离谱,一个方法就搞定。百分百可用。
package com.example.demo16.util;import cn.hutool.core.date.DateUtil;
import lombok.NonNull;import java.util.Date;public class MyDateUtil {/*** 计算两个时间的时间差* @param begin     开始时间* @param end       结束时间* @param dateUnit  单位* @return      根据单位最终得到星期、天、时、分、秒*/public static long between(@NonNull Date begin, @NonNull Date end, DateUnit dateUnit) {long diff = Math.abs(end.getTime() - begin.getTime());return diff / dateUnit.getMillis();}public static void main(String[] args) {System.out.println("计算两个时间的时间差:");Date begin = DateUtil.parse("2023-10-02 22:01:00","yyyy-MM-dd HH:mm:ss");Date end = DateUtil.parse("2023-11-03 23:03:00","yyyy-MM-dd HH:mm:ss");System.out.print("分钟:");System.out.println(MyDateUtil.between(begin,end, MyDateUtil.DateUnit.MINUTE));System.out.print("小时:");System.out.println(MyDateUtil.between(begin,end, MyDateUtil.DateUnit.HOUR));System.out.print("天:");System.out.println(MyDateUtil.between(begin,end, MyDateUtil.DateUnit.DAY));}/*** 时间单位枚举*/public enum DateUnit {/*** 周 日 时 分 秒的毫秒数*/MS(1L),SECOND(1000L),MINUTE(SECOND.getMillis() * 60L),HOUR(MINUTE.getMillis() * 60L),DAY(HOUR.getMillis() * 24L),WEEK(DAY.getMillis() * 7L);DateUnit(long millis) {this.millis = millis;}// 毫秒private final long millis;public long getMillis() {return millis;}}
}

其实很多轮子根本不用重复造,推荐一个功能丰富且易用的Java工具库 hutool,一个Java基础工具类,对日期、文件、流、加密解密、转码、正则、线程、XML等等JDK方法进行封装,组成各种Util工具类。

github地址(带文档):GitHub - dromara/hutool: 🍬A set of tools that keep Java sweet.

Maven依赖:

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

非常好用。

更多推荐

计算两个时间的时间差(天、时、分、秒)

本文发布于:2023-11-17 03:49:16,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1636568.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:时间差   两个   时间

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!