您的位置:首页 > 其它

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

2016-10-31 10:58 405 查看
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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: