table.addMouseListener(new MouseAdapter()
        {
         public void mouseClicked(MouseEvent e)
         {
         System.out.println(table.getValueAt(table.getSelectedRow(),3).toString());
         Date a=null;
         a=new Date(table.getValueAt(table.getSelectedRow(),3).toString());
         System.out.println(a.toString());
                 }
         }我的表格中每一行都是一个Object数组,其中第3列(下标从0说),也就是Object[3]存的是Date对象转成的Object但十分诡异的是,这两次输入,结果分别是Sun Jan 01 00:00:00 CST 2012
Sun Jan 01 14:00:00 CST 2012那14小时怎么来的呀??? 现在的时间是18:53,和14:00也没任何关系呀!——————————————————————————————————

解决方案 »

  1.   

    那是下午两点,不是14小时。
    明显它的值与你table中的数据有关,和当前时间没关系。
      

  2.   


    哦。但也很奇怪呀。。都是用了table.getValueAt(table.getSelectedRow(),3一句直接输入为文字。一句转成对应的Date再输出,为何结果不一样??
      

  3.   


    我详细说一下吧。我是先在一个带格式控制的文本框中输入2012-01-01用Date x=new SimpleDateFormat("yyyy-MM-dd").parse(文本框.getText()) 将其转成Date然后将它连同其他变量,转为Object[]后,显示到表格中那我觉得,这个内容就应该是Sun Jan 01 00:00:00 CST 2012但为何再转为Date,输出的却有个14:00怎么搞的??
      

  4.   

    正常啊
     System.out.println(new Date("Sun Jan 01 00:00:00 CST 2012").toString());
    的输出就是
    Sun Jan 01 14:00:00 CST 2012
      

  5.   

    你这应该是时区的问题,CST 不好用,表示4个时区,还是改成GMT吧,
    还有,你用SimpleDateFormate parse出来的不就是date吗?干吗还要转一次。