Moment.js 文档

是否之前 2.0.0+

moment().isBefore(Moment|String|Number|Date|Array);
moment().isBefore(Moment|String|Number|Date|Array, String);

检查一个 moment 是否在另一个 moment 之前。 第一个参数将被解析为 moment,如果不是这样的话。

moment('2010-10-20').isBefore('2010-10-21'); // true

如果要将粒度限制为毫秒以外的单位,请将单位作为第二个参数传递。

由于第二个参数决定了精度,而不仅仅是要检查的单个值,因此使用 day 将检查年、月和日。

moment('2010-10-20').isBefore('2010-12-31', 'year'); // false
moment('2010-10-20').isBefore('2011-01-01', 'year'); // true

moment#isAftermoment#isSame 一样,moment#isBefore 支持 moment#startOf 支持的任何时间单位。

year month week isoWeek day hour minute second

如果没有传递给 moment#isBefore,它将默认为当前时间。

注意: moment().isBefore() 具有未定义的行为,不应使用! 如果代码运行得很快,初始创建的 moment 将与在 isBefore 中创建的 moment 相同以执行检查,因此结果将是 false。 但是,如果代码运行速度较慢,则 isBefore 中创建的 moment 可能明显晚于 moment() 中创建的 moment,因此调用将返回 true