首先还是祝贺各位新年快乐~~帮小弟看下这个问题~
其中数据库为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个不同呢?
其中数据库为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个不同呢?
20051201230603
看看你的程序是不是用的你的系统时间,有没有
Date x = new Date();
"Thu Dec 01 23:06:03 CST 2005 "看起来像是取了一个时间然后直接输出,下面那个是你格式化后的数据
SimpleDateFormat 是一个以与语言环境相关的方式来格式化和分析日期的具体类。
parse方法返回的date型的,format方法返回的是string型的。