java - jackson 在 momentJS 中使用的奇怪时间戳值给出了错误的年份

标签 java oracle date momentjs

我使用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 服务)。

最佳答案

您不必使用moment.unix ,解析自 Unix 纪元以来的,只需使用 moment(Number)那个

Similar to new Date(Number), you can create a moment by passing an integer value representing the number of milliseconds since the Unix Epoch (Jan 1 1970 12AM 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>

关于java - jackson 在 momentJS 中使用的奇怪时间戳值给出了错误的年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45918895/

相关文章:

java - 如何在Java中为Blitline发送Json POST请求?

java - 在 Controller 内创建的 header 的单元测试

php - 如何在 PHP 中获取当前日期/时间作为日期对象

php - PHP 和 MySQL 中的日期和时间函数

java - EXCEPTION_ACCESS_VIOLATION框架出现问题:#j

java - 函数 to_date 与 oracle 和 hql hibernate

sql - Oracle SQL 按天分组计数,当天和前天不同

Oracle:如何在时间戳中添加分钟?

sql - 在 where 子句中减去日期

Java 正则表达式积极向前看但只匹配唯一字符?