首先必须定义时间的形式,例如: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){
}
得到的差值是微秒级别 ,可以根据自己的需求进行不同的转化!!!