首页 > 解决方案 > 为什么 Moment 给我今天的日期而不是格式化我的日期?

问题描述

我正在使用这个过滤器

Vue.filter("toDate", function (value) {
  if (value) {
    return moment(Date(value)).format("yyyy-MM-DD HH:mm");
    
  }
});

价值内容是1529416634

所以价值应该是2018-06-19 15:57

但是当我通过日期

return moment(value).format() //1970-01-18 17:50

并具有Date()功能

return moment(Date(value)).format("yyyy-MM-DD HH:mm"); //2021-09-18 11:16

它给了我今天的日期。

我究竟做错了什么?

标签: javascriptvue.js

解决方案


momentDate以自 Unix 纪元(1970 年 1 月 1 日 12AM UTC)以来的毫秒数为单位。

您当前将其作为seconds自 Unix 纪元以来的数量传递。

你可以做

return moment(value * 1000).format() //2018-06-19T14:57:14+01:00

或者

return moment.unix(value).format() //2018-06-19T14:57:14+01:00

或者

return moment(new Date(value * 1000)).format() //2018-06-19T14:57:14+01:00


推荐阅读