SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date dt=new Date("2011/08/04 09:00:12");
String sdt=dt.toString();
System.out.println(sdt);
Date d=new Date(sdt);
 
System.out.println(sdf.format(d));
/*
Thu Aug 04 09:00:12 CST 2011
2011-08-04 11:00:12
*/

解决方案 »

  1.   

    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date dt=new Date("2011/08/04 09:00:12");
    String sdt=dt.toString();
    System.out.println(sdt);
    Date d=new Date(sdt);
     System.out.println(d);
    System.out.println(sdf.format(d));/*
    Thu Aug 04 09:00:12 CST 2011
    Thu Aug 04 23:00:12 CST 2011
    2011-08-04 23:00:12
    */
      

  2.   

    这是由于时区的关系new Date(String)从Jdk1.1开始就不建议使用了,建议改成用DateFormat.parse(String s)所以楼主不要跟它较劲了,这个方法可能根本没有与JDK同时升级
      

  3.   

    date还能toString() ???????????以下是我写的:
    String和Date互相转换:
                    String string = "2011-3-18 12:33:25";
    Date date = sf.parse(string);
    String ss = sf.format(date);
      

  4.   

    忘了写一句
    SimpleDateFormat sf = new SimpleDateFormat("yyyy-mm-DD HH:mm:ss");