【问题标题】:How to format sql date (yyyy-mm-dd) to display as just (yyyy) in jsp?如何格式化sql日期(yyyy-mm-dd)以在jsp中显示为(yyyy)?
【发布时间】:2018-09-29 09:41:08
【问题描述】:

我有一个出生日期 (dob) 的 sql 条目,它使用 jdbc 从 query.jsp 中提取,存储为 dob,然后发送到 results.jsp。 sql 日期是 yyyy-mm-dd 格式,但我只需要显示年份。我当前针对此问题的代码:


<%@ page import="java.text.*" %>

<%
String birthdate = request.getParameter("dob");
SimpleDateFormat yearOnly = new SimpleDateFormat("yyyy");
Date year = yearOnly.parse(birthdate);
%>

错误类型不匹配:无法从 java.util.Date 转换为 java.sql.Date

如何格式化我的 sql 日期以仅显示 dob 的年份部分?我应该在 query.jsp 还是 results.jsp 中格式化?

【问题讨论】:

  • String birthdate 这应该是date 数据类型吗?
  • 您可以添加您的完整代码吗?我在您的代码中没有看到任何java.sql.Date 类型
  • 看这里:gist.github.com/NKjoep/4344305 可能会有所帮助...如果您想在 SQL 中执行此操作,那么您必须告诉我们哪个 dbms 语法不同,因为语法不同

标签: sql date jsp printing format


【解决方案1】:

避免在 JSP 中使用 scriptlet。

将 java.sql.Date 转换为 java.util.Date:

java.util.Date newDate = new Date(rs.getDate("MY_COLUMN").getTime());

在 JSP 的顶部声明对 JSP 格式库的引用:

<%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>

并使用 formatDate 标签输出您的日期:

<fmt:formatDate pattern = "yyyy" value = "${dob}" /></p>

其中 dob 是通过 JSP EL 引用的请求范围属性。

https://www.tutorialspoint.com/jsp/jstl_format_formatdate_tag.htm

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-18
    相关资源
    最近更新 更多