try{   String SD = "1999-01-31";  java.sql.Date d1 = java.sql.Date.valueOf(SD);
 System.out.println(d1);  java.text.SimpleDateFormat input_str= new java.text.SimpleDateFormat( "yyyy/mm/dd" );
  String tmpDate = "2000/03/02";
  java.util.Date xdate = input_str.parse( tmpDate );
  java.sql.Date d = new java.sql.Date(xdate.getTime());
   System.out.println(d);
  }
  catch (java.text.ParseException pe) { System.out.println(" Error " + pe); }

解决方案 »

  1.   

    java.sql.Date是java.util.Date的子类。
    既然你已经得到了java.util.Date,强制转换成java.sql.Date很容易啊!
      

  2.   

    你可以用Timestamp类
    用Long去parse一个"1999-1-1"当然是不对的
      

  3.   

    如果已经取得java.util.Date somedate
    可以这样转换为java.sql.Date:
    java.sql.Date sqldate = new java.sql.Date(somedate.getTime())
      

  4.   

    java.util.Date 转为 java.sql.Date:
    java.util.Date date ;
    new java.sql.Date(date.getTimes());
      

  5.   

    先用SimpleDateFormat解析出字符串,要设定格式。
      

  6.   

    new java.sql.Date(new SimpleDateFormat.parse(s).getTime());