Spring MVC - 日期问题

时间:2015-02-25 14:16:35

标签: json spring-mvc

后端Spring MVC和Hibernate。前端Angularjs。我使用的数据库是DB2。

问题:我的JSON对象中的数据字段以随机整数的形式返回(" startDate":1450828800000)。数据库中的实际日期为" 2015-12-23"。 数据库中此列的数据类型设置为DATE。

我的代码:

@Entity
@Table(name = "PURCHASEORDER",schema = "POTOOL")
public class PurchaseOrder {

    @Id
    @GeneratedValue
    private int id;

    private Date startDate;

    //rest of the code, including getter and setters

2 个答案:

答案 0 :(得分:0)

您在JSON响应中看到的不是随机整数,而是您的DB值转换为毫秒。您可以使用以下注释对Date进行注释,以使其与DB内部具有相同的表示

 @JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
 private Date startDate;

注释属于jackson-annotation.jar如果您正在使用maven,则可以添加以下依赖项,它将传递带有注释jar

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.4.1</version>
    </dependency>

如果您不使用maven,您仍然可以从maven repo下载jar,或者为您的构建找到相应的conf,希望它有所帮助

答案 1 :(得分:0)

事实证明我可以使用Angularjs格式化日期:{{po.startDate | date:“yyyy-MM-dd”}}

仍然困惑为什么JSON响应日期没有被转换......