JAVA中如何实现两个时间类型的数据相减?比如:20:25:12-23:50:56=?:?:?

解决方案 »

  1.   

    public static int getDateInterval(String d1,String d2){
    d1 = convertDate(d1);
    d2 = convertDate(d2);
    String year = d1.substring(0,d1.indexOf('-'));
    String month = d1.substring(d1.indexOf('-')+1,d1.lastIndexOf('-'));
    String day  = d1.substring(d1.lastIndexOf('-')+1);
    Date date = new Date(Integer.parseInt(year),Integer.parseInt(month)-1,Integer.parseInt(day));
    year  = d2.substring(0,d2.indexOf('-'));
    month  = d2.substring(d2.indexOf('-')+1,d2.lastIndexOf('-'));
    day   = d2.substring(d2.lastIndexOf('-')+1);
    Date date2 = new Date(Integer.parseInt(year),Integer.parseInt(month)-1,Integer.parseInt(day));
    return (int)((date.getTime()-date2.getTime())/(24*60*60*1000));

    }
    时间比较
    int day=getDateInterval("2005-08-09","2004-11-12");
      

  2.   

    你看日期类中是否有相减的方法,如果没有就把它转换成int型进行减后,在转换成日期型。可用Format把它格式化成你的结果。