java两个时间段计算相差时长

计算两个时间段相差时长

复制代码
public static String getDistanceTime(Long  str1 ,Long str2) {
        long day = 0;//天数差
        long hour = 0;//小时数差
        long min = 0;//分钟数差
        long second=0;//秒数差
        long diff=0 ;//毫秒差
        StringBuilder result =new StringBuilder();
        //String result = "";
        diff = str2-str1;
        day = diff / (24 * 60 * 60 * 1000);
        hour = (diff / (60 * 60 * 1000) - day * 24);
        min = ((diff / (60 * 1000)) - day * 24 * 60 - hour * 60);
        second = diff/1000;
        System.out.println("day="+day+" hour="+hour+" min="+min+" ss="+second%60+" SSS="+diff%1000);
        String daystr = day%30+"天";
        String hourStr = hour%24+"小时";
        String minStr = min%60+"分";
        String secondStr = second%60+"秒";
        if (day!=0){
            result.append(daystr);
            //result = result + daystr;
        }
        if (hour!=0){
            result.append(hourStr);
            //result = result + hourStr;
        }
        if (min!=0){
            result.append(minStr);
            //result = result + minStr;
        }
        if (second!=0){
            result.append(secondStr);
            //result = result + secondStr;
        }
        return result.toString();
    }

创建主方法

复制代码
public static void main(String[] args) throws ParseException {
        String a="2023-07-27 14:43:00";
        String b="2023-07-28 14:30:10";
        SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date parse1 = dateFormat.parse(a);
        Date parse2 = dateFormat.parse(b);
        String bigDecimal=getDistanceTime(parse1.getTime(),parse2.getTime());
        System.out.println(bigDecimal);
      
    }

运行结果

相关推荐
吴声子夜歌9 分钟前
Java数据结构与算法——基本数学问题
java·开发语言·windows
扫地的小何尚19 分钟前
NVIDIA RTX PC开源AI工具升级:加速LLM和扩散模型的性能革命
人工智能·python·算法·开源·nvidia·1024程序员节
wanglei2007081 小时前
生产者消费者
开发语言·python
_UMR_1 小时前
springboot集成Jasypt实现配置文件启动时自动解密-ENC
java·spring boot·后端
程序员小假1 小时前
我们来说说 Cookie、Session、Token、JWT
java·后端
清水白石0081 小时前
《从零到进阶:Pydantic v1 与 v2 的核心差异与零成本校验实现原理》
数据库·python
leo__5201 小时前
基于菲涅耳衍射积分的空心高斯光束传输数值模拟(MATLAB实现)
开发语言·matlab
昵称已被吞噬~‘(*@﹏@*)’~1 小时前
【RL+空战】学习记录03:基于JSBSim构造简易空空导弹模型,并结合python接口调用测试
开发语言·人工智能·python·学习·深度强化学习·jsbsim·空战
短剑重铸之日1 小时前
《SpringBoot4.0初识》第一篇:前瞻与思想
java·开发语言·后端·spring·springboot4.0
2501_941877981 小时前
从配置热更新到运行时自适应的互联网工程语法演进与多语言实践随笔分享
开发语言·前端·python