我想实现这样的功能:
求两个给定的月/日/时/分的时间之间相隔了多少小时多少分钟,如何实现? 谢谢! 

解决方案 »

  1.   

    使用Date中的getTime()返回毫秒数,再根据这两个日期的毫秒数之差进行计算。
      

  2.   

    PS:getTime返回的是long型数据,注意一下。
      

  3.   

    Date date=new Date();
    s=date.getTime();
      

  4.   

    GregorianCalendar calendar1 = new GregorianCalendar();
    GregorianCalendar calendar2 = new GregorianCalendar();

    calendar1.set(2007, 7, 14, 9, 00, 00);
    calendar2.set(2007, 7, 14, 18, 30, 00);我现在要求calendar1 和 calendar2之间相隔了几小时几分钟, 请给具体代码。谢谢。
      

  5.   

    import java.util.GregorianCalendar;public class Test {
        public static void main(String[] args) {
            GregorianCalendar calendar1 = new GregorianCalendar();
            GregorianCalendar calendar2 = new GregorianCalendar();        calendar1.set(2007, 7, 14, 9, 00, 00);
            calendar2.set(2007, 7, 14, 18, 30, 00);
            
            long t0 = calendar1.getTimeInMillis();
            long t1 = calendar2.getTimeInMillis();
            long diff = t1 - t0;        long dateDiff = diff / (24L * 3600L * 1000L);
            diff %= 24L * 3600L * 1000L;
            long hourDiff = diff / (3600L * 1000);
            diff %= 3600L * 1000L;
            long minuteDiff = diff / (60L * 1000L);
            diff %= 60L * 1000L;
            
            System.out.printf("相差:%d天%d小时%d分%d秒",
                    dateDiff,
                    hourDiff,
                    minuteDiff,
                    diff);
        }
    }
      

  6.   

    上面的代码有些问题,改正一下:import java.util.GregorianCalendar;public class Test {
        public static void main(String[] args) {
            GregorianCalendar calendar1 = new GregorianCalendar();
            GregorianCalendar calendar2 = new GregorianCalendar();        calendar1.set(2007, 7, 14, 9, 00, 00);
            calendar2.set(2007, 7, 14, 18, 30, 22);
            
            long t0 = calendar1.getTimeInMillis();
            long t1 = calendar2.getTimeInMillis();
            long diff = t1 - t0;        long dateDiff = diff / (24L * 3600L * 1000L);
            diff %= 24L * 3600L * 1000L;
            long hourDiff = diff / (3600L * 1000);
            diff %= 3600L * 1000L;
            long minuteDiff = diff / (60L * 1000L);
            diff %= 60L * 1000L;
            long second = diff / 1000L;
            
            System.out.printf("相差:%d天%d小时%d分%d秒",
                    dateDiff,
                    hourDiff,
                    minuteDiff,
                    second);
        }
    }
      

  7.   

    多谢bao110908。我起初以为有现成的java方法解决。