问题是这样的,我用Hibernate框架做了一个练习用的小项目,其中涉及到插入日期的功能,
比如:页面上我原本输入的是2011-7-12,用request取到的值也是这个,然而到Servlet中用SimpleDateFormat格式化再转成Date后再刷新一下页面,页面显示的格式就变成:2011-07-12 00:00:00了(仅刚刚插入的日期如此),更奇怪的是:我查了数据库,里面显示的却是正常的:2011-7-12格式,这我有点想不通,为了更清晰的表达我的意图,我把部分源代码的伪代码配合注释贴出来,烦请各位大仙帮我看看?非常感谢!
Servlet处理代码://用yyyy-MM-dd的形式格式化日期对象
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
//格式化从表单接受到的日期字符串形式后转换成java.util.Date类型
java.util.Date myDate=(java.util.Date)sdf.parse(request.getParameter("txt_date"));
//调用实体类的setter()方法设置日期属性值
JavaBean.setDate(myDate);
//调用Dao层的实现类的增加方法
JavaBeanDaoImpl.add(JavaBean);
if(//修改成功){
跳转到显示页面
}else{
//...
}显示页面代码:<c:forEach var="javaBean" varStatus="status" items="${sessionScope.javaBeans}">
<tr>
<td>${javaBean.myDate}</td>
<tr>
</c:forEach>
我怀疑是不是java.util.Date myDate=(java.util.Date)sdf.parse(request.getParameter("txt_date"));这一步出了问题,格式化后又转成Date类型则丧失了原来的格式,是否是这样?如果是这样,请问有什么办法避免没有?