网页显示没有时间的日期

时间:2014-08-21 17:32:18

标签: oracle hibernate spring-mvc jstl

我们在jsp页面上有以下代码

<fmt:formatDate value="${object.mydate}" pattern="yyyy-MM-dd HH:mm:ss" var="mydate" />
<c:out value="${mydate}"/>

我的实体

    @Temporal(TemporalType.DATE)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Column(name = "DATEEXAMPLE", length = 7)
    public Date getDateExample() {
        return this.dateexample;
    }
Oracle数据库字段中的

DATAEXAMPLE是DATA_TYPE&#34; DATE&#34; (和例子,14/08/21 17:01:20)

不幸的是,网站显示我&#34; 2014-08-21 00:00:00&#34;

Somone知道为什么吗?

我正在使用Oracle Database 11g,Spring 3.2,Hibernate 4。

2 个答案:

答案 0 :(得分:2)

格式化操作(fmt:formatDate and fmt:formatNumber)默认使用.toString(),如果区域设置为NULL,即使显式格式没有依赖于区域设置的转换。根据应用服务器的设置,可能没有默认语言环境,只留下NULL

尝试添加locale

<fmt:formatDate value="${object.mydate}" pattern="yyyy-MM-dd HH:mm:ss" var="mydate" locale="en"/>
<c:out value="${mydate}"/>

答案 1 :(得分:1)

你的问题在这里:

@Temporal(TemporalType.DATE)

根据javadoc,这会映射到java.sql.Date。猜猜看,它只包含&#34; date&#34;时间戳的一部分,而不是&#34;时间&#34;部分。您需要另一个,映射到java.sql.Timestamp

@Temporal(TemporalType.TIMESTAMP)

另见: