首页 > 解决方案 > 为什么 momentjs isBetween 函数在 2020 年的表现不如预期

问题描述

以下返回真

moment('2019-11-15').isBetween('2019-11-15', undefined, null, '[]');
moment('2016-10-25').isBetween('2016-10-25', undefined, null, '[]');

但是这个返回false

moment('2020-11-15').isBetween('2020-11-15', undefined, null, '[]');

我错过了 2020 年的东西吗?

标签: javascriptmomentjs

解决方案


moment('2020-11-15').isBetween('2020-11-15', undefined, null, '[]');

这个返回 false 因为 2 个日期的顺序。上面的命令意味着您正在检查在targetDate >= 2020-11-15 && targetDate <= today(2020-11-05)2020/11/15 之前是否始终为假

由于 moment(undefined) 评估为 moment() 即当前日期,因此您需要更改第一个和第二个参数。


// date `A` should be always earlier date than date `B`
moment('2020-11-15').isBetween(A, B, C, D);

推荐阅读