java⽇期赋值_javaTimestamp对象赋值问题
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Timestamp timeUseForSearchInDatabase = null;
//假设你前台传来的⽤于查询的时间字符串名称为searchDate
String searchDate = Parameter("searchDate");
//假设你前台传⼊的⽇期格式为2010-08-05 11:20:12(yyyy-MM-dd HH:mm:ss)
if (null != searchDate && !"".equals(searchDate)) {
try {
timeUseForSearchInDatabase = new Timestamp(new SimpleDateFormat("yyyy-MM-dd
HH:mm:ss").parse(searchDate).getTime());
} catch (ParseException e) {
e.printStackTrace();
}
}
//这时timeUseForSearchInDatabase就可以直接放到Hibernate的实体对应字段中去了
//其实,hibernate中对应数据库中的DateTime类型,实体中可以采⽤java.util.Date类型,
//另外,Hibernate中的timestamp类型的字段是可以为null的,但不能为"";其实""你也注⼊不进去,因为""是字符串类型的,你所说的前台页⾯表单中
//什么也不输时报错,是因为页⾯中的任何表单不输⼊内容,传到后台的值将都是字符串"",⽽不是null,这个你要处理的,你要将""转换成null,
//你⽤了SSH,可以使⽤Struts的过滤器⾃动过滤,但也可以使⽤我上⾯这种⽅法(虽然有点笨,有点烦,但还是⽐较实⽤的)。
/
**java时间日期格式转换
* 下⾯向你介绍⼀下我对⽇期类型的处理办法:
* 1、页⾯前台:①、使⽤⽇期控件,直接限制⽤户的输⼊⽇期格式(html页⾯中的⽇期输⼊控件有很多,我常⽤My97DatePicker,简介⽅便),这样前台⽤户输⼊的
* ⽇期要么是空字符串"",要么是我们预设好的⽇期格式,传到后台后按照规则解析处理即可。②、使⽤js的验证功能强⾏⽤户输⼊指定格式的⽇期
* 2、业务逻辑层:使⽤我上⾯这中⽅法进⾏转换处理,将空字符串""转换成null,将正确的⽇期字符串转换成对应的⽇期对象再使⽤。
* 3、保存:①、使⽤Hibernate的实体直接保存,将转换成的⽇期对象直接⽅法实体中即可(强调⼀下:⽇期字段是null是可以的,但""肯定不⾏)
* ②、使⽤Hql保存,也可直接将刚转换成的⽇期对象作为参数传⼊hql
* ③、使⽤sql,sql中的⽇期是可以直接使⽤字符串来保存的,所以不必转换,也可使⽤sql参⼊注⼊的⽅法注⼊到sql中后执⾏。
*
*
* 当然从数据库中取出数据⽤于前台展⽰,将是上⾯过程的逆过程,⾸先取出数据,此时是⼀个⽇期对象,要使⽤SimpleDateFormat进⾏格式化,转换成字符串传到
* 前台进⾏显⽰(如果是jsp页⾯可以在页⾯中处理,如果使⽤Struts技术,可以使⽤Struts的标签技术,如果是使⽤像Ext、Jquery Easy UI则在使⽤JSONObject
* 将数据格式化成json字符串时,为JSONObject格式化写⼀个专门针对⽇期类型的处理器,那么在JSONObject进⾏格式化时,会⾃动按照处理器的要求将⽇期格式化成
* 你想要的字符串格式(⽐如:yyyy-MM-dd、yyyy-MM-dd HH:mm:ss等等,你要做的就是为JSONObject格式化处理器传⼊⼀个⽇期格式表达式即可))
*
*
* 写的有点多了,偏了点题,不知是否能解决你的问题
*/
}
2011年1⽉02⽇ 13:42

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。