java中时间作差


    String time1 = "2013年08月08 17:23";
    String time2= "2013年08月10 19:03";

    String year1 = time1.substring(0, 4);
    String month1 = time1.substring(5, 7);
    String date1 = time1.substring(8, 10);
    String hour1 = time1.substring(12, 14);
    String mins1 = time1.substring(15, 17);
   
    String year2 = time2.substring(0, 4);
    String month2 = time2.substring(5, 7);
    String date2 = time2.substring(8, 10);
    String hour2 = time2.substring(12, 14);
    String mins2 = time2.substring(15, 17);
   
    time1 = year1+"-"+month1+"-"+date1+" "+hour1+":"+mins1;
    time2 = year2+"-"+month2+"-"+date2+" "+hour2+":"+mins2;

    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    Date d2 = dateFormat.parse(time2);
    Date d1 = dateFormat.parse(time1);
    long l = d2.getTime() - d1.getTime();
 long day = l / (24 * 60 * 60 * 1000);  
 long hour = (l / (60 * 60 * 1000) - day * 24);  
 long min = ((l / (60 * 1000)) - day * 24 * 60 - hour * 60);  
 long ss = (l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);  
 long num = day*24*60+hour*60+min;
 String time = "";//最终的时间差
 if(day == 0 && hour == 0){
  time = min + "分";
 }else if(day == 0 && hour != 0){
  time = hour + "小时" + min + "分";
 }else{
  time = day + "天" + hour + "小时" + min + "分";
 }
 System.out.println(time);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值