用户在页面输入时间,传到Action里以后,我要怎么把它转化为正确的Date类型然后保存到数据库?
obj.setDate(new Date(str));
service.save(obj);//在这里报错,就是有关与Date类型的obj.setDate(new Date());
service.save(obj);//这样的话没问题,可是这个是获的当前时间第二个就是存性别的问题,我在数据库里用的bit类型,ORM之后就是Byte.
Byte bt= new Byte("true"); //报错
不知道要怎么写.简单问题,先给脸红一下..然后请教大家了

解决方案 »

  1.   


    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;//根据楼主自己数据库的格式进行解析字符串成日期格式
    public class A {
    @SuppressWarnings("deprecation")
    public static void main(String[] args) {
    Date date=parStringToDate("2009-05-26 23:13:25");
    System.out.println(date.getMinutes());//测试一下
    } public static Date parStringToDate(String str) {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date=new Date();
    try {
    date=sdf.parse(str);
    } catch (ParseException e) {
    e.printStackTrace();
    }
    return date;
    }
    }至于第二个问题:
    lz可以使用1、0来表示性别
    Byte bt= new Byte("true"); 运行时转换报异常,因为true根本不能转换成Byte类型的数据。
    [-128,127]之间的数。
      

  2.   

    LZ,就像楼上说的那样,时间问题你没主意到格式问题,
    性别问题是true不可能转城Byte,byte是单个字节。。
      

  3.   

    干脆数据库里直接定义一个varchar类型,望数据库里以string的类型写true和false
      

  4.   

    但是如果直接在数据库里加记录,不通过程序,貌似bit类型的只能是true或者false这两个