我的控制台日志给出了意外的输出。
var bool = (moment("2017-04-08 23:00:00").isBefore(moment("2017-04-09 01:00:00", 'day')));
console.log(bool);
出于某种原因,输出是错误的。 根据文档,以下代码应返回 true。
moment('2010-10-20').isBefore('2011-01-01', 'year')
即使不是整整一年,如果是不同的一年,我的理解是它应该返回 false。 就我而言,虽然还不到 24 小时,但已经是不同的一天了。 有什么我理解不正确的地方吗?
最佳答案
@Oliver Charlesworth是的,moment()
不接受 'day'
作为第二个参数。看看here并向下滚动以查看其所有有效签名。
话虽如此,您可以转换
isBefore(moment("2017-04-09 01:00:00", 'day'));
到
isBefore(moment('2017-04-09 01:00:00'), 'day');
或到
isBefore('2017-04-09 01:00:00', 'day')
;
两者都有效。
Here是 isBefore 的签名。
关于javascript - Moment.js isBefore 函数未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43312848/