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);
      
    }

运行结果

相关推荐
HuaCode2 分钟前
Openclaw一键安装部署(2026年4月最新)
git·python·nodejs·openclaw·api token
m0_738120724 分钟前
网络安全编程——开发一个TCP代理Python实现(二)
python·tcp/ip·web安全
Dxy12393102164 分钟前
JavaScript 如何捕获异常:从基础到进阶的完整指南
开发语言·javascript·udp
better_liang15 分钟前
每日Java面试场景题知识点之-Redisson热门使用场景
java·redis·微服务·分布式锁·redisson·分布式系统
2301_7926748618 分钟前
java学习 day26
java
!停18 分钟前
C++入门—初阶模板
开发语言·c++
so2F32hj219 分钟前
拆解 OpenHands(14)--- Microagents
java·开发语言
明灯伴古佛23 分钟前
面试:什么是可重入性?为什么 synchronized 是可重入锁?
java·jvm·面试
卓怡学长28 分钟前
m307自习室预订座位管理分析与实现
java·spring boot·spring
Jp7gnUWcI33 分钟前
C++ 内存避坑指南:如何用移动语义和智能指针解决“深拷贝”与“内存泄漏”
开发语言·c++