在java中用mysql在数据库中读取一个日期,但是读出来之后有时分秒,我如何只截取他的年月日,在什么时候截

如题所述

两种方式,一个是在数据库查询的时候就截取,另一个就是在使用的时候截取。
1.数据库
select date_format(日期字段,’%Y-%m-%d’) as ‘日期’ from test
2.java程序
SimpleDateFormat dateFm = new SimpleDateFormat("yyyy-MM-dd");
String dateTime = dateFm.format(new java.util.Date());
如果你直接就想要这样的格式不需要其他的格式那么就数据库的时候就格式化,如果还需要其他的不同形式的时间格式那么就是用程序中处理的方式
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-04
可以在你的业务层进行截取。
DateFormat format1 = new SimpleDateFormat("yyyyMMdd");
format1.format("20090801");
第2个回答  2011-05-04
如果要前台显示美观不要时分秒
<s:property value="checkdate.substring(0,9)" />// 截取的长度自己定下,刚好去掉了要去掉的部分就行了追问

如果我是这样循环输出呢?在那里加?

${d.dbuyTime }

追答

${d.dbuyTime.toString().substring(0,9) }

追问

还是不行呀,直接报异常了。在网上找了半天也不知道是啥意思。你再帮忙看下,谢谢。
The function toString must be used with a prefix when a default namespace is not specified

追答

我用的struts标签是这样可以
去掉toString呢 ${d.dbuyTime.substring(0,9) }
或者:${fn:substring(d.dbuyTime,0,9)}

本回答被提问者采纳
第3个回答  2011-05-04
读数据是,sql 语句中截