public String getSqlTimeTamp(java.sql.Timestamp date){//方法一
SimpleDateFormat sformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if(date!=null)
return sformat.format(date);
else
return "";
}
public String getSqlTime(java.sql.Date date){//方法二
SimpleDateFormat sformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if(date!=null)
return sformat.format(date);
else
return "";
}
public String getUtilTime(java.util.Date date){//方法三
SimpleDateFormat sformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if(date!=null)
return sformat.format(date);
else
return "";
}
方法调用如下:
String sql = "select sysdate 当前时间1,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') 当前时间2 from dual";
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
if(rs.next()){
System.out.print("Sql1当前时间:");
System.out.println(Factory.getOracleDB().getSqlTime(rs.getDate("当前时间1")));
System.out.print("Sql2当前时间:");
System.out.println(Factory.getOracleDB().getSqlTimeTamp(rs.getTimestamp("当前时间1")));
System.out.print("Sql3当前时间:");
System.out.println(rs.getString("当前时间2"));
System.out.print("Util当前时间:");
System.out.println(Factory.getOracleDB().getUtilTime(new Date()));
输出结果如下:
Sql1当前时间:2011-04-07 00:00:00
Sql2当前时间:2011-04-07 09:30:39
Sql3当前时间:2011-04-07 09:30:39
Util当前时间:2011-04-07 09:30:39
说明:getSqlTime方法没有正确显示小时、分钟、秒,我认为是因为Java.sql.Date在继承java.util.Date中的Date类后将小时、分钟、秒部分都设置为0了,只保留了年月日部分。