日期:2014-05-17  浏览次数:20821 次

用mysql存储日期时,取出来页面怎么去掉时分秒?
Java code

table:
 CREATE TABLE `t_person` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `username` varchar(20) NOT NULL,
 `pwd` varchar(20) NOT NULL,
 `age` int(11) NOT NULL,
 `register_date` date NOT NULL,
 primary key (id));
hql取得数据:
session.createQuery("from Person").list();
jsp页面用struts标签或者el表达式显示日期时,多余的00.00.00.0怎么去掉?



------解决方案--------------------
struts2标签:<s:date format="yyyy-MM-dd" name="register_date">
------解决方案--------------------
限定取出字段的类型为varchar(10),会自动过滤后面的字符串
------解决方案--------------------
办法有很多种
1、你可以把日期按照字符串格式直接存入数据库,类型用varchar就可以
2、是用date类型,mysql是区分date和datetime类型的,前者只有年月日,后者要加上时分秒。不过到了页面上以后时分秒还是会都出来了,只不过数值都是0
最好是用页面处理方式,很多表情都支持页面显示格式的。用得最广泛的c标签就支持。
------解决方案--------------------
标签找到了,用这个,把格式改一下就好了
<fmt:formatDate value='${ obj.zx_time }' pattern='yyyy-MM-dd HH:mm:ss'/>
------解决方案--------------------
Java code

<bean:write property="register_date" name="agreement" format="yyyy-MM-dd"/>

------解决方案--------------------
不好意思,上面错了,改正如下:

form.setRegister_date(df.format(register_date));

------解决方案--------------------
直接截取不就行了么!!subString
------解决方案--------------------
直接在查数据库的时候就截取了不是更好
to_char(date,'yyyy-MM-dd')
------解决方案--------------------
<s:date name="time" format="yyyy-MM-dd" />
------解决方案--------------------
方法太多太多
------解决方案--------------------
探讨

直接在查数据库的时候就截取了不是更好
to_char(date,'yyyy-MM-dd')