Java计算时间差(两个时间相减)

时间:2013-05-12
简介:java教程|在Android开发或者Java学习中,经常要求两个时间差比如说:现在是:2004-03-2613:31:40过去是:2004-01-0211:30:24我现在要获得两个日期差,差的形式为:XX天XX...

在Android开发或者Java学习中,经常要求两个时间差

比如说:

现在是 :2004-03-26 13:31:40

过去是:2004-01-02 11:30:24

我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒

这前后时间可能是机器生成的,也可能是人工输入的,那么我们可以通过下面代码来实现

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try

 

{

 

  Date d1 = df.parse("2004-03-26 13:31:40");

 

  Date d2 = df.parse("2004-01-02 11:30:24");

  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)

{

}

在Android开发中,你可能需要记录系统运行的时间长度,那么你可以在系统启动时记录下时间,然后在你想结束的时候再记录一次时间,两次时间记录值作差。具体可参考Java、Android超精确测量代码执行时间

得到的差值也是微秒级别的,利用类似的方法,得到秒、分、时、天即可。

TAGS:Java计算时间差Java两个时间相减

上一编:JAVA中如何执行DOS命令 就是调用cmd命令

下一编:java中byte数组与int,long,short,float,char之间的转换

ab蓝学网|IT技术学习网站
Copyright (C) 2016 www.ablanxue.com, All Rights Reserved.ab蓝学网 IT技术长尾词 New article Hot article