计算两个时间的差值

首先必须定义时间的形式,例如:yyyy-MM-dd HH:mm:ss,yyyy-MM-dd,HH:mm:ss,mm:ss......
比如说:现在是:2016-08-17 20:07:45,过去是:2016-08-16 11:34:12(时间的形式为:yyyy-MM-dd HH:mm:ss)
计算以上两个时间的差值
1.差的形式为:xx微秒
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try
{
Date d1 = df.parse("2016-08-17 20:07:45");
Date d2 = df.parse("2016-08-16 11:34:12");

long diff = d1.getTime() - d2.getTime();//这样得到的差值是微秒级别
System.out.println(diff+"微秒");

}catch (Exception e){
}

2.差的形式为:xx秒
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try
{
Date d1 = df.parse("2016-08-17 20:07:45");
Date d2 = df.parse("2016-08-16 11:34:12");

long diff = d1.getTime() - d2.getTime();//这样得到的差值是微秒级别
long diffss = diff / 1000;
System.out.println(diffss+"秒");

}catch (Exception e){
}

3.差的形式为:XX天XX小时XX分XX秒
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try

{

Date d1 = df.parse("2016-08-17 20:07:45");
Date d2 = df.parse("2016-08-16 11:34:12");

long diff = d1.getTime() - d2.getTime();//这样得到的差值是微秒级别
long days = diff / (1000 * 60 * 60 * 24);

long hours = (diff-days*(1000 * 60 * 60 * 24))/(1000* 60 * 60);
long minutes = (diff-days*(1000 * 60 * 60 * 24)-hours*(1000* 60 * 60))/(1000* 60);
System.out.println(""+days+"天"+hours+"小时"+minutes+"分");

}
catch (Exception e){
}
得到的差值是微秒级别 ,可以根据自己的需求进行不同的转化!!!

posted on 2016-08-31 16:09  天凉才是好个秋  阅读(671)  评论(0编辑  收藏  举报

导航