public static void main(String[] args) {
Date d = new Date("2011/08/17 13:05:00");
Date dd = new Date();
System.out.print(d); //13:05
System.out.print(dd);//06:57

}源代码是这样子的,但是在我机子上  new Date();得道的不是当前时间,这是为啥?  

解决方案 »

  1.   

    时区问题么
    dd.toLocaleString()看看
      

  2.   

     SimpleDateFormat d = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");//格式化时间
          TimeZone t = TimeZone.getTimeZone("Asia/Shanghai");//不管系统是啥时区,这里只获得+8区时间,不影响系统
          d.setTimeZone(t);
    d.format(new Date())
    看看设置下时区行不行
      

  3.   

    Date d = new Date(System.currentTimeMillis());
      

  4.   

    System.out.print(dd); 和你系统时间一样不? 不一样的话检查下时区
      

  5.   

    不行啊      
    Date d = new Date("2011/08/17 13:05:00");
    Date dd= new Date(System.currentTimeMillis());




    SimpleDateFormat dc = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");//格式化时间
      TimeZone t = TimeZone.getTimeZone("Asia/Shanghai");//不管系统是啥时区,这里只获得+8区时间,不影响系统
      dc.setTimeZone(t);
     dc.format(dd);
     System.out.println(dd);//07:57  机子上实际时间是 15:24
     System.out.print(dd.toLocaleString());//07:57  机子上实际时间是 15:24
     System.out.println(d); //13:05