SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");

Date da = new Date();
Long time1 = da.getTime();

Long time2 = da.getTime()-5000; // 相差 5秒

Long time3 = time1 - time2;



System.out.println(sdf.format(time3));
为什么返回的是 01:00:05,     
相要的结果应该是 00:00:05
谢谢了 :)

解决方案 »

  1.   


    //给你改改就明白了:
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd,hh:mm:ss"); Date da = new Date(); Long time1 = da.getTime(); Long time2 = da.getTime()-5000; // 相差 5秒 Long time3 = time1 - time2;        System.out.println(time3);
            
            System.out.println(sdf.format(time3));
      

  2.   

    不能直接这样format,要一项一项的计算。
    http://j2eeyes.javaeye.com/blog/136170
      

  3.   

    首先,da.getTime()是long类型,不是Long
    然后,System.out.println(sdf.format(time3));这句写错了吧,应该是
    System.out.println(sdf.format(new Date(time3)));
    最后:得到的应该是08:00:05才对!
      

  4.   

    import java.text.SimpleDateFormat;
    import java.util.*;
    public class time 
    {
    public static void main(String args[])
    {
    SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss"); Date da = new Date();
    Long time1 = da.getTime(); Long time2 = da.getTime()-5000; // 相差 5秒 Long time3 = time1 - time2;
         System.out.println(sdf.format(time3));
    }
    }
    试过了,就是楼主要的答案,在eclipse上试的
      

  5.   

    import java.text.SimpleDateFormat;
    import java.util.*;
    public class time 
    {
    public static void main(String args[])
    {
    SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss"); Date da = new Date();
    Long time1 = da.getTime(); Long time2 = da.getTime()-5000; // 相差 5秒 Long time3 = time1 - time2;
         System.out.println(sdf.format(time3));
    }
    }