后端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
答案 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响应日期没有被转换......