java计算时差

package cn.com.pansky.usp4o.common.util;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTool {
	private static DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 

	 /**
	  * 计算时差
	  * @param beginTime
	  * @param endTime
	  * @return
	  */
	 public static String getTotalDateTime(String beginTime,String endTime){
		 String time = null;
		 try {
			 java.util.Date now = df.parse(beginTime);
			 java.util.Date date=df.parse(endTime);
			 long l=now.getTime()-date.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 s=(l/1000-day*24*60*60-hour*60*60-min*60);
			 //System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");
			 time = hour+"小时"+min+"分"+s+"秒";
		 } catch (Exception e) {
		}
		 return time;
	 }
	  
	 /**
	  * 字符串日期 转换为 Date
	  * @param strTime
	  * @return Date
	  */
	 public static Date getConvertDate(String strTime){
		 Date  rt= null;
		 try {
			 rt = df.parse(strTime);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return rt;
	 }
	 
	 
	 /**
	  * 返回小时/分钟
	  * @param  4小时0分
	  * @return 4/0
	  */
	 public static String getSplitTime(String time){
		 String hour ,min = null;
		 String[] field = time.split("小时");
		 hour=field[0];
		 String hV=field[1];
		 String[] mV= hV.split("分");
		 min=mV[0];
		 return hour+"/"+min;
	 }
	
	 /**
	  * 返回秒
	  * @param 4小时1分2秒
	  * @return  2
	  */
	 public static String getReturnSec(String time){
		 String sec = null;
		 String[] field = time.split("分");
		 String[] sv=field[1].split("秒");
		 sec=sv[0];
		 return sec;
	 }
	
	 
	 /**
	  * 【4小时1分10秒】+【1小时3分10秒】=【5小时3分20秒】
	  * @param begin
	  * @param end
	  * @return
	  */
	 public static String getTotal(String begin,String end){
		 String hour ,min ,sec= null;
		 String[] field = begin.split("小时");
		 hour=field[0];
		 String hV=field[1];
		 String[] mV= hV.split("分");
		 min=mV[0];
		 String sc = mV[1];
		 String[] mecV = sc.split("秒");
		 sec = mecV[0];
		 //---------------------
		 String hour1 ,min1,sec1 = null;
		 String[] field1 = end.split("小时");
		 hour1=field1[0];
		 String hV1=field1[1];
		 String[] mV1= hV1.split("分");
		 min1=mV1[0];
		 String sc1 = mV1[1];
		 String[] mecV1 = sc1.split("秒");
		 sec1 = mecV1[0];
		 //-----------------------
		 int sumHour,sumMin ,sumSec= 0;
		 int h=Integer.parseInt(hour);
		 int h1=Integer.parseInt(hour1);
		 int m=Integer.parseInt(min);
		 int m1=Integer.parseInt(min1);
		 int s1=Integer.parseInt(sec1);
		 int s=Integer.parseInt(sec);
		 sumHour=h+h1;
		 sumMin= m+m1;
		 sumSec=s1+s;
		 System.out.println("sumMin" +sumMin);
		 for(int i =0;i<sumSec;i++){
			 if(sumSec >= 60){
				 sumMin=sumMin+60;
				 sumSec=sumSec-60; 
			 }else{
				break; 
			 }
		 }
		 for(int i =0;i<sumMin;i++){
			 if(sumMin >= 60){
				 sumHour=sumHour+1;
				 sumMin=sumMin-60; 
			 }else{
				break; 
			 }
		 }
		 return   sumHour + "小时" + sumMin + "分" +sumSec+"秒";
//		 return   sumHour + "小时" + sumMin + "分";
	 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值