packageio;importjava.text.DateFormat;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Date;/*** 时间相距
*
*@authorBen
*@version1.0
* @date 2009-10-21 16:38:51*/
public classDateDistance {/*** 两个时间之间相差距离多少天
*
*@paramone
* 时间参数 1:
*@paramtwo
* 时间参数 2:
*@return相差天数*/
public static longgetDistanceDays(String str1, String str2)throwsException {
DateFormat df= new SimpleDateFormat("yyyy-MM-dd");
Date one;
Date two;long days = 0;try{
one=df.parse(str1);
two=df.parse(str2);long time1 =one.getTime();long time2 =two.getTime();longdiff;if (time1
diff= time2 -time1;
}else{
diff= time1 -time2;
}
days= diff / (1000 * 60 * 60 * 24);
}catch(ParseException e) {
e.printStackTrace();
}returndays;
}/*** 两个时间相差距离多少天多少小时多少分多少秒
*
*@paramstr1
* 时间参数 1 格式:1990-01-01 12:00:00
*@paramstr2
* 时间参数 2 格式:2009-01-01 12:00:00
*@returnlong[] 返回值为:{天, 时, 分, 秒}*/
public static long[] getDistanceTimes(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();longdiff;if (time1
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();
}long[] times ={ day, hour, min, sec };returntimes;
}/*** 两个时间相差距离多少天多少小时多少分多少秒
*
*@paramstr1
* 时间参数 1 格式:1990-01-01 12:00:00
*@paramstr2
* 时间参数 2 格式:2009-01-01 12:00:00
*@returnString 返回值为:xx天xx小时xx分xx秒*/
public staticString 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();longdiff;if (time1
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 voidmain(String[] args) {
String str= getDistanceTime("2014-1-7 12:12:33.0","2014-6-6 12:12:12.0");
System.out.println(str);
}
}