jsp 字符串截取

请教大家一个问题:
jsp的语句是
<li id="textmode">【起始时间】</li>${opProject.beginDate}
opProject.beginDate就是从数据库中读取一个时间格式的数据

我现在只想取这个时间的前几位,请问该怎么修改?

我看到说有用substring来实现的,那对应到jsp语句中是什么样的呢?
如何把这个数据传给jsp语句
先感谢你们两位,给了我一些启示:)初次接触JSP,有好多不懂的地方。
我试过你们两个的方法,如果把${opProject.beginDate}改为加到<%%>标签中,tomcat会提示找不到对象或者软件包。
这个页面中是获得一个封装后的数据库查询结果opProject,beginDate为opProject的一个字段。

MySQl数据库里这个字段的格式为datatime型的
就是2008-04-27 00:33:01
太长了,我只想取年月日。如果页面改比较麻烦,那就修改数据库的格式吧。不过有时候排序还是需要时间精确一些的

楼主我在java拦回答过了,这里的是粘贴错了,如果实施起来有什么问题,就在java拦补充吧
楼主分两种情况,如果你的是时间格式的,string
型的就用楼上方法就好了
opProject.beginDate,那么你要先把它转成string型
<%SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");把时间型转化为string型,假如是现在的时刻,则ss为"2008-4-27"
String ss=sdf.format(opProject.getBeginDate());
String year=ss.substring(0,4);
String year_month=ss.substring(0,7);
String year_month_day=ss;
%>
<li id="textmode">【起始时间】</li><%=year%> 或者
<%=year_month%> <%=year_month_day%>
________________________________________________
楼主好象可以不用改,直接用SimpleDateFormat ;
比如你得到一个从数据库的封装,opProject
那么,你可以Date dbdate=opPorject.getBeginDate();
然后设置SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd-hh-mm-ss");
解释一下yyyy就是年,MM就是月,dd就是天,hh就是小时,mm就是分,ss就是秒,
楼主,如果你不要小时以后的数据就这样设置
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String dbdate=sdf.format(opPorject.getBeginDate());
然后格式话时间后,在页面中用<%=dbdate%>,来得到时间绝对不会有小时后面的数字
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-13
  jsp页面时间的字符串可以采用格式化的方式来处理,这样处理起来效率很高。
  <fmt:formatDate>该标签主要用来格式化日期和时间。
  实现了对日期的格式化,使用了type、dateStyle、timeStyle等属性。
  <fmt:formatDate value="${date}"></fmt:formatDate><br>
  <fmt:formatDate value="${date}" type="both"></fmt:formatDate><br>
  <fmt:formatDate value="${date}" type="both" dateStyle="default"
  timeStyle="default"></fmt:formatDate><br>
  <fmt:formatDate value="${date}" type="both" dateStyle="short"
  timeStyle="short"></fmt:formatDate><br>
  <fmt:formatDate value="${date}" type="both" dateStyle="long"
  timeStyle="long"></fmt:formatDate><br>
  <fmt:formatDate value="${date}" type="both" dateStyle="full"
  timeStyle="full"></fmt:formatDate><br>
  <fmt:formatDate value="${date}" type="both" dateStyle="full"
  timeStyle="full"></fmt:formatDate><br>
第2个回答  2008-04-27
<%
String date=(opProject.beginDate).toString();
String year=date.substring(0,4);
%>
<li id="textmode">【起始时间】</li><%=year%>

不知道对不对,我一般都是将时间设为字符类型然后存到数据库

不知道你怎么实现opProject的
第3个回答  2008-04-26
在你的JSP代码从数据库里面提取出数值以后,用下面的方法截取其前面10位:
opProject.beginDate=opProject.beginDate.substring(0,10)
第4个回答  2008-04-27
我同意smluyi的第一种说法,哪有人取时间还用字符串截取的,当然是用SimpleDateFormat啦
相似回答