Date不是继承于String,换句话说,一个Date对象不是一个String对象,只能通过其他方式转换,而不能通过强制 Date date = new Date(); String strDate = date.toString();或 java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String strDate = format.format(date);或String strDate = (1700 + date.getYear()) + "-" + (date.getMonth()+1) + "-" + date.getDate() + " " + date.getHour() + ":" + date.getMinute() + ":" + date.getSecond(); 上面的1700可能应该为1900,记不太清了不过,我还是纳闷,为什么看不到等级和信誉值呢?
更正一下 java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 24小时制,如果要12小时制: java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss aaa");
谢谢北极人,谢谢回答我问题的人,我明白了,没有出来等级和信誉值我也搞不懂,但是在回复里不是有了吗?我还想问问如在sql数据库表里定义是datetime类型字段,我在java中如何转换呢?例如: public Collection coll(){ try { st = conbean.getcon().createStatement(); rs = st.executeQuery("select * from new "); ArrayList table=new ArrayList(); while(rs.next()){ sbean row=new sbean(); row.setUserid(rs.getString("userid")); row.setTitle(rs.getString("title")); row.setMassage(rs.getString("xinxi")); row.setTime(rs.getDate("fabutime"));/这句???? table.add(row); } return table; } catch (SQLException ex) { } catch (SQLException ex) {} } 我在 public void setTime(Date time) { this.time = time; } // 已经定义Date time 还有 对象.getime()是转换为什么类型?? 如果我在数据库中设置int型字段在程序中如何实现转换??
row.setTime(rs.getDate("fabutime"));//这一句不用转换,因为java.sql.Date继承于java.util.Date。也就是说,java.sql.Date的对象一定是一个java.util.Dateint等基本数据类型从数据库中取出后默认是它们的封装类型,即Integer等,这样做 int val = ((Integer)rs.getObject(字段名或序号)).intValue(); //如果不知道具体是Long还是Integer还是Short,这样更安全 int val = ((Number)rs.getObject(字段名或序号)).intValue(); 因为,他们都是Number的子类 或直接由Result转换 int val = rs.getInt(字段名或序号);
Object obj[] = {"string", new Integer(1), ...so on};
String str = (String)obj[0]; //强制转换类型
Integer ig = (Integer)obj[1];
...
我还想问阿宝,对于时间Date要是转换为字符串对象呢?谢谢阿宝
Date date = new Date();
String strDate = date.toString();或
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String strDate = format.format(date);或String strDate = (1700 + date.getYear()) + "-" + (date.getMonth()+1) + "-" + date.getDate() + " " + date.getHour() + ":" + date.getMinute() + ":" + date.getSecond();
上面的1700可能应该为1900,记不太清了不过,我还是纳闷,为什么看不到等级和信誉值呢?
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
24小时制,如果要12小时制:
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss aaa");
public Collection coll(){
try {
st = conbean.getcon().createStatement();
rs = st.executeQuery("select * from new ");
ArrayList table=new ArrayList();
while(rs.next()){
sbean row=new sbean();
row.setUserid(rs.getString("userid"));
row.setTitle(rs.getString("title"));
row.setMassage(rs.getString("xinxi"));
row.setTime(rs.getDate("fabutime"));/这句????
table.add(row);
}
return table;
}
catch (SQLException ex) { }
catch (SQLException ex) {}
} 我在 public void setTime(Date time) {
this.time = time;
} // 已经定义Date time
还有
对象.getime()是转换为什么类型??
如果我在数据库中设置int型字段在程序中如何实现转换??
int val = ((Integer)rs.getObject(字段名或序号)).intValue();
//如果不知道具体是Long还是Integer还是Short,这样更安全
int val = ((Number)rs.getObject(字段名或序号)).intValue();
因为,他们都是Number的子类
或直接由Result转换
int val = rs.getInt(字段名或序号);