要开始做毕业设计了,开始把再项目中遇到的问题记录一下。
项目用的是SSH集成,和同学都遇到的一个问题。 在Action里用Form.get对象,可以得到对象的时间属性,而且类型也还是Date,在模糊查询的时候 用hql语句拼接 Date就变成String,需要的是在hql中再把String再转换回来 我在Google中搜到一个方法,
" and replace(CONVERT(char(10),insterDate,23),'/','-') like '"+2009+"%'"
这样就可以转换了 插入和跟新的一个道理, 在Action中用xxForm.getxx(); 得到的是Date 没有自己写hql,直接用的Spring提供的HibernateDaoSupport 遇到的问题和上面的查询一样, 把取到的Date 比如 xx.getxxDate(); 转换成String 再set到xxDate里,就可以跟新插入了 不知道是为什么需要中间做下没意义的转换 希望知道的大哥大嫂告诉下
下面是个String和Date类型的相互转换方法
//字符串的日期数据
String strDate = "1980-03-01 17:06:50";
//定义一个格式化工具,格式为:年-月-日 小时(24小时制):分钟:秒
SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date parseDate = formater.parse(strDate);
String datee = new SimpleDateFormat("yyyy-MM-dd").format(parseDate);
System.out.println(datee);
try {
//将String转为Date型对象
parseDate = formater.parse(strDate);
System.out.println("转化的日期对象为:" + parseDate);
} catch (ParseException e) {
e.printStackTrace();
}
//将Date转为按指定的输出格式,格式为:年-月-日 小时(12小时制):分钟
if(parseDate != null){
//设置输出格式
formater.applyPattern("yyyy-MM-dd ahh:mm:ss");
//得到格式化的日期
String formatDate = formater.format(parseDate);
//输出结果
System.out.println("格式化结果为:" + formatDate);
}
}
-------------------------------------------------在积累中学习---------------------------------------------------------------