比如说:
现在是 :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)
- {
得到的差值也是微秒级别的,利用类似的方法,得到秒、分、时、天即可。