计算两个时间 相差多少时分秒


package com.bjnlmf.nerc.message.api.util;

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



public class ValidateTime {
	 /** 
     * 两个时间相差距离多少天多少小时多少分多少秒 
     * @param str1 时间参数 1 格式:1990-01-01 12:00:00 
     * @param str2 时间参数 2 格式:2009-01-01 12:00:00 
     * @return String 返回值为:xx天xx小时xx分xx秒 
     */  
    public String getDistanceTime(String str1, String str2) {  
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
        Date one;  
        Date two;  
        long day = 0;  
        long hour = 0;  
        long min = 0;  
        long sec = 0;  
        try {  
            one = df.parse(str1);  
            two = df.parse(str2);  
            long time1 = one.getTime();  
            long time2 = two.getTime();  
            long diff ;  
            if(time1<time2) {  
                diff = time2 - time1;  
            } else {  
                diff = time1 - time2;  
            }  
            day = diff / (24 * 60 * 60 * 1000);  
            hour = (diff / (60 * 60 * 1000) - day * 24);  
            min = ((diff / (60 * 1000)) - day * 24 * 60 - hour * 60);  
            sec = (diff/1000-day*24*60*60-hour*60*60-min*60);  
        } catch (ParseException e) {  
            e.printStackTrace();  
        }  
        return day + "," + hour + "," + min + "," + sec + ",";  
    }
    
    // 验证两字符串的时间差
    public static boolean validateTime(String str,String str1){
    	boolean flag=true;
    	ValidateTime test=new ValidateTime();
    	String time=test.getDistanceTime(str, str1);
    	String[] arrTime=time.split(",");
    	int day=Integer.parseInt(arrTime[0]);
    	int hour=Integer.parseInt(arrTime[1]);
    	int min=Integer.parseInt(arrTime[2]);
    	//String sec=arrTime[1];
    	if(day>0){
    		flag = false;
    	}else{
    		if(hour>0){
    			flag =false;
    		}else{
    			if(min>=5 ){
    				flag = false;
    			}else{
    				flag = true;
    			}
    		}
    	}
    	return flag;
    }
    
    public static void main(String []args){
    	String currtime = "2016-09-05 14:45:34";
    	String insertTime = "2016-09-02 16:31:43";
    	ValidateTime validate = new ValidateTime();
    	boolean aa=validate.validateTime(currtime, insertTime);
    	System.out.println(aa);
    }
}

Guess you like

Origin blog.csdn.net/a1ccwt/article/details/52980665