22

我想做这样的事情:

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

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

这似乎应该工作,但没有:

 <%= new Date.getYear() %>
4

5 回答 5

68

用于jsp:useBean构造java.util.Date实例并使用 JSTLfmt: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指令时,您需要指定完整的限定类名称,这可能是您的问题的原因。然而,十年来一直不鼓励使用小脚本。

这一切都在[jsp]标签信息页面中得到了展示:)

于 2010-09-10T15:35:20.217 回答
2

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

于 2012-04-25T19:36:15.170 回答
2

我的解决方案:

<%@page import="java.util.Calendar"%>
<%@page import="java.util.GregorianCalendar"%>
    <%
      GregorianCalendar cal = new GregorianCalendar();
      out.print(cal.get(Calendar.YEAR));
    %>
于 2011-08-19T08:15:38.123 回答
1

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

<%= LocalDate.now().getYear() %>
于 2019-12-13T12:28:10.807 回答
-1

您应该使用JSTL编写 JSP ,并使用它的<fmt>标签来格式化日期等。

于 2010-09-10T16:16:19.450 回答