先看代码public static void main(String[] args) throws ParseException {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("Thu Oct 15 10:27:36 CST 2009");
Date date = new Date("Thu Oct 15 10:27:36 CST 2009");
System.out.println(df.format(date));
}
输出:
Thu Oct 15 10:27:36 CST 2009
2009-10-16 00:27:36结果相差了14个小时,寻求解释... 

解决方案 »

  1.   

    不要用new Date(String str)这个被废弃的方法了。看代码:
    SimpleDateFormat df = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.US);
            System.out.println("Thu Oct 15 10:27:36 CST 2009");
            
            try {
    System.out.println(df.parse("Thu Oct 15 10:27:36 CST 2009"));
    } catch (ParseException e) { e.printStackTrace();
    }
      

  2.   

    目前北美时间是:Wednesday, October 14, 2009 at 9:00:50 PM CST相差十来个点吧!你的操作系统是那个时区的?SimpleDateFormat(String pattern) 
              用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。