我试图从数据库中获取数据,如..
while(rs.next())
{
java.sql.Timestamp t=rs.getTimestamp("date");
}
现在我想将Timestamp't'转换为java.util.Date类型。 在那我正在尝试
Date d=new Date(t);//but hear given error
System.out.println(d);
System.out.println(d.toGMTString());
答案 0 :(得分:2)
java.sql.Timestamp
已经扩展java.util.Date
,因此您无需执行任何操作:
Date date = t;
您应该阅读Timestamp
的文档,了解一些潜在意外行为的详细信息,特别是:
由于Timestamp类和上面提到的java.util.Date类之间存在差异,因此建议代码不要将Timestamp值一般视为java.util.Date的实例。 Timestamp和java.util.Date之间的继承关系实际上表示实现继承,而不是类型继承。
(我将其翻译为“哎呀,我们使用继承,我们应该使用组合。”)
要解决此问题,您可能需要使用:
Date date = new Date(t.getTime());