String strStartTime = "2008-11-19 09:06:15";
String strEndTime = "2008-11-19 09:06:17";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:ss:mm"); 请问如何计算时间差?
想得到如下格式:
  d天h小时m分s秒

解决方案 »

  1.   


    package com.train.first;import java.text.SimpleDateFormat;
    import java.util.Date;public class Test
    {
    public static void main(String[] args) throws Exception
    {
    String strStartTime = "2008-11-19 09:06:15"; 
    String strEndTime = "2008-11-20 11:56:20"; 
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    Date start = format.parse(strStartTime);
    Date end = format.parse(strEndTime);

    long time = end.getTime() - start.getTime();

    long second = 1000;
    long minute = 60 * second;
    long hour = 60 * minute;
    long day = 24 * hour;

    long d = time / day;
    long h = (time % day) / hour;
    long m = ((time % day) % hour) / minute;
    long s = (((time % day) % hour) % minute) / second;

    System.out.println(d + "天" + h + "小时" + m + "分" + s + "秒");
    }
    }