计算两个日期间,间隔时间
Posted tomatoes
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算两个日期间,间隔时间相关的知识,希望对你有一定的参考价值。
/**
* 测试
@param args
*/
public static void main(String[] args) {
String date1 = "2007-03-01 12:00:00";
String date2 = "2007-03-01 20:20:01";
long[] distanceTimes = null;
try {
distanceTimes = LockCallBack.getDistanceTimes(date1, date2);
} catch (ParseException e) {
throw new ServiceException(500, "时间格式不是系统所匹配的");
}
for (long i:
distanceTimes) {
System.out.println(i+",");
}
}
/**
* 两个时间相差距离多少天多少小时多少分多少秒
*
* @param str1 时间参数 1 格式:1990-01-01 12:00:00
* @param str2 时间参数 2 格式:2009-01-01 12:00:00
* @return long[] 返回值为:{天, 时, 分, 秒}
* @throws java.text.ParseException
*/
public static long[] getDistanceTimes(String str1, String str2) throws ParseException {
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;
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);
long[] times = {day, hour, min, sec};
return times;
}
以上是关于计算两个日期间,间隔时间的主要内容,如果未能解决你的问题,请参考以下文章