如何在JSP中打印当前日期?

时间:2010-09-10 15:29:52

标签: jsp date-format

我想做这样的事情:

 <?php echo date('Y'); ?>

然后在.jsp文件中。我所看到的所有tutorials都需要在某个地方建立一个班级。我们正在运行appFuse和Tapestry。当然其中一个(如果不是Java本身)为我们提供了一些东西来做这种事情而没有所有的开销。

这似乎应该有效,但不会:

 <%= new Date.getYear() %>

5 个答案:

答案 0 :(得分:61)

使用jsp:useBean构建java.util.Date实例,并使用JSTL fmt:formatDate将其格式化为使用SimpleDateFormat模式的人类可读字符串。

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<jsp:useBean id="date" class="java.util.Date" />
Current year is: <fmt:formatDate value="${date}" pattern="yyyy" />

旧式 scriptlet 的方式是:

<%= new java.text.SimpleDateFormat("yyyy").format(new java.util.Date()) %>

请注意,如果不使用@page import指令,则需要指定完整的限定类名,这可能是导致问题的原因。然而,使用 scriptlet 非常discouraged十年。

这一切都在[jsp] tag info page中得到了证明:)

答案 1 :(得分:2)

<%= new java.util.Date().getYear() + 1900 %>

答案 2 :(得分:1)

我的解决方案:

<%@page import="java.util.Calendar"%>
<%@page import="java.util.GregorianCalendar"%>
    <%
      GregorianCalendar cal = new GregorianCalendar();
      out.print(cal.get(Calendar.YEAR));
    %>

答案 3 :(得分:0)

您应该使用JSTL编写JSP并使用其<fmt>标记来格式化日期等。

答案 4 :(得分:0)

在Java 8打印年份中,您可以使用:

<%= LocalDate.now().getYear() %>