2011-07-06 56 views

回答

5

您可以使用${calendar.time}獲得Date對象EL。您可以使用JSTL<fmt:formatDate>Date對象格式化爲JSP中的可讀字符串。它在封面下使用SimpleDateFormat,並通過pattern屬性支持其所有模式。

在下面的例子中,爲了簡潔,我假定${cal}是日曆。只要適用,請用${object.calendarObject}代替它。

<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 
... 
<ul> 
    <li>Standard date/time: <fmt:formatDate value="${cal.time}" type="both" /></li> 
    <li>Standard date: <fmt:formatDate value="${cal.time}" type="date" /></li> 
    <li>Day: <fmt:formatDate value="${cal.time}" pattern="d" /></li> 
    <li>Month: <fmt:formatDate value="${cal.time}" pattern="M" /></li> 
    <li>Year: <fmt:formatDate value="${cal.time}" pattern="yyyy" /></li> 
    <li>dd-MM-yyyy: <fmt:formatDate value="${cal.time}" pattern="dd-MM-yyyy" /></li> 
    <li>MM/dd/yyyy: <fmt:formatDate value="${cal.time}" pattern="MM/dd/yyyy" /></li> 
</ul> 

截至目前,這應該得到類似的信息(英文場所,GMT + 1):

  • 標準的日期/時間:2011年7月6日下午10時34分17秒
  • 標準日期:2011年7月6日
  • 日:6
  • 月:7
  • 年份:2011
  • DD-MM-YYYY:2011年6月7日
  • MM/DD/YYYY:07/06/2011
+0

完美的,我會用這個解決方案!謝謝 – ianaz

+0

不客氣。 – BalusC

+0

+1我知道這是一個毫無價值的評論,我將被完全罰款,但它被刪除,但@BalusC,你真棒!每當我對無腳本JSP有任何疑問時,我都會找你。 – Thierry

2

不能直接與日曆對象,您可以創建日曆對象的包裝的getter方法,像這樣:

public int getMonth(){ 
    wrappedCalendar.get(Calendar.MONTH); 
} 
public int getDay(){ 
    wrappedCalendar.get(Calendar.DAY_OF_MONTH); 
} 
public int getYear(){ 
    wrappedCalendar.get(Calendar.YEAR); 
} 
... 

所以,你可以在你的表達語言是這樣的使用:

${calWrapper.month}/${calWrapper.day}/${calWrapper.year}