首先还是祝贺各位新年快乐~~帮小弟看下这个问题~
其中数据库为oracle
表中InTime为Date型数据 先在数据库里定义了一行,其中InTime为 2006-2-16 3:00:00
//省略无关
SimpleDateFormat f = new SimpleDateFormat("yyyyMMddHHmmss");
//省略无关
while(rs.next()){
   System.out.println(rs.getString("InTime"));
   System.out.println(rs.getString("InTime").substring(0, 19));
   System.out.println(f.parse(rs.getString("InTime").substring(0, 19)));
   System.out.println(f.format(f.parse(rs.getString("InTime"))));
}
最后输出是这样的
2006-02-16 03:00:00.0
2006-02-16 03:00:00
Thu Dec 01 23:06:03 CST 2005
20051201230603
为什么后2个和前2个不同呢?

解决方案 »

  1.   

    Thu   Dec   01   23:06:03   CST   2005 
    20051201230603 
    看看你的程序是不是用的你的系统时间,有没有
    Date x = new Date();
    "Thu   Dec   01   23:06:03   CST   2005 "看起来像是取了一个时间然后直接输出,下面那个是你格式化后的数据
      

  2.   

    ResultSet表示数据库结果集的数据表,是显示数据库中所存的数据;
    SimpleDateFormat 是一个以与语言环境相关的方式来格式化和分析日期的具体类。
    parse方法返回的date型的,format方法返回的是string型的。