Object htp = ht.get(fliedName.toLowerCase());    htp 为:Timestamp 类型值为 long:1274250752000
System.out.println(String.valueOf(htp));   打印的值为:2010-05-19 14:32:32.0 
但是,我要把这个值转换成Timestamp类型的时候就报错。
java.sql.Timestamp.valueOf((String.valueOf(htp))); 
------------------------------------------------------------------------------------------------------------
以下代码package com.dudulang.db;import java.lang.reflect.Method;
import java.sql.*;
import java.util.*;import com.dudulang.exception.FrameWorkException;public class P4jTest { /**
 * @param args
 * 
 */
private static Connection conn=null;
private static Connection conndb=null;
public static void  refmethod(Object obj,String s) throws Exception, NoSuchMethodException{
Class c = Class.forName("com.dudulang.db.RefBean");
Method[] ms = c.getDeclaredMethods();
 
 System.out.println(java.sql.Timestamp.valueOf(s));
 System.out.println(ms[1]+"!!!!!!!!");
 System.out.println(new java.sql.Timestamp(187032238));
Object jst2 =  ms[0].invoke(obj, null);
System.out.println(jst2.toString()+"===========");
Object kk = ms[1].invoke(obj, new Object[]{java.sql.Timestamp.valueOf("2010-02-21 12:22:33.0")});
System.out.println(kk.toString()+"===========");

}


public static void main(String[] args) throws Exception, Exception {
// TODO Auto-generated method stub
conn = Utils.getConnection();
try {
PreparedStatement pstmt = conn.prepareStatement("select * from system.Testtb");
ResultSet rs = pstmt.executeQuery();
rs.next();
java.sql.Timestamp jst = rs.getTimestamp("tdate");
Hashtable ht = new Hashtable();
ht.put("tdate", jst);
Object htp = ht.get("tdate");
            System.out.println(String.valueOf(htp));
            Timestamp tpp = Timestamp.valueOf(String.valueOf(htp)); RefBean rb = new RefBean();
refmethod(rb,String.valueOf(htp));



} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DB db = new DB();
conndb = db.getMyConnection();
conndb.close();

}}
-----------------------------------------------------------------------------------------------------------
Thanks For Your Attention !

解决方案 »

  1.   

    参考:
    Timestamp   lF   =   new   Timestamp((new   SimpleDateFormat("dd/MM/yyyy")).parse("21/09/2001").getTime());
      

  2.   

    没分现什么问题啊:
    见代码:
                Object htp = new java.sql.Timestamp(1274250752000L);
                System.out.println(String.valueOf(htp));
                String t = String.valueOf(htp);
                java.sql.Timestamp ts = java.sql.Timestamp.valueOf(t);
                System.out.println("1. ts = " + ts);
                System.out.println("2. ts = " + java.sql.Timestamp.valueOf(String.valueOf(htp)));运行结果如下:
    2010-05-19 14:32:32.0
    1. ts = 2010-05-19 14:32:32.0
    2. ts = 2010-05-19 14:32:32.0