【问题标题】:moment.js error, sometimes ignores the daymoment.js 错误,有时会忽略这一天
【发布时间】:2020-10-01 15:06:30
【问题描述】:

moment.js 有一个问题,我在初始化日期时有两个日期(初始日期和最终日期),初始日期很好,但最终日期不是,moment.js 忽略日期的日期部分,我设置了“2020-10-05T09:00”,但在控制台中我得到“2020-10T17:15Z”,你可以看到它没有白天部分。

这是我的代码

const ini = moment("2020-10-01T09:00");
const fin = moment("2020-10-05T09:00");
var diff = fin.diff(ini, 'seconds');
console.log(fin);

控制台打印:

{_isAMomentObject:真,_i:“2020-10T09:00Z”,_isUTC:假,_pf:{…},_locale:x,…}

【问题讨论】:

  • 应该是console.log(diff),不是吗?
  • 这对我来说似乎工作正常,如果我登录 fin._i 我会得到 2020-10-05T09:00
  • 它对我来说也很好用。结果:Moment<2020-10-05T09:00:00-03:00>

标签: javascript momentjs


【解决方案1】:

将您的日期格式作为第二个参数传递给create a momentjs object based on your date

另外,在计算出fin.diff(ini, 'seconds') 后,您需要记录diff 以获取秒数;

const ini = moment("2020-10-01T09:00", 'YYYY-MM-DDThh:mm');
const fin = moment("2020-10-05T09:00", 'YYYY-MM-DDThh:mm');
var diff = fin.diff(ini, 'seconds');

console.log(diff);
// output: 345600
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>

【讨论】:

  • 不用通过,如果他登录diff,结果还是和这个一样..
  • 感谢您的回答,但即使使用您的解决方案,我仍然遇到同样的问题,就像它在日期高于今天时崩溃,我真的不明白为什么。但我仍然得到“2020-10T09:00Z”
  • @YeisonM 请澄清问题,如果您运行我的代码-sn-p,它将在几秒钟内显示差异。
  • mmmm 没关系,我正在打印另一个值,我的错误
猜你喜欢
  • 1970-01-01
  • 2020-08-28
  • 2018-12-14
  • 1970-01-01
  • 2019-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多