我使用的是Oracle DB,列类型为:DATE
我按照以下方式映射此列:
private Date dateCreate;
@Column(name = "DATE_CREATE", nullable = false)
public Date getDateCreate() {
return dateCreate;
}
public void setDateCreate(Date dateCreate) {
this.dateCreate = dateCreate;
}
除了将此值返回到前端之外,我什么都不做。
在我的前端,我尝试将此时间戳转换为时刻对象:
let momentDate = moment.unix(dateCreate).format("MM/DD/YYYY");
我得到'12/13/49626'
我应该得到'08/28/2017'
当我使用this one之类的服务并将时间戳(1503908063000
)粘贴到其中时,它会为我提供正确的日期。
我不认为,从时间戳中删除最后三个数字是一个好主意。还有另一种解决方法吗?
我使用Hibernate作为ORM提供程序,使用Jackson作为JSON(一些RESTEasy服务)。
答案 0 :(得分:2)
您不必使用moment.unix
,解析秒自Unix时代以来,只需使用moment(Number)
与
new Date(Number)
类似,您可以通过传递一个整数值来创建片刻,该值表示自Unix Epoch(1970年1月1日12 AM UTC)以来毫秒的数量。
这是一个实时样本:
let dateCreate = 1503908063000;
let ggg = moment(dateCreate).format("MM/DD/YYYY");
console.log(ggg);

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
&#13;