isBetween()


//从 2.13.0 开始
moment().isBetween(moment-like, moment-like);
moment().isBetween(moment-like, moment-like, String);
moment().isBetween(moment-like, moment-like, String, String);
// 其中 moment-like 是 Moment|String|Number|Date|Array

//2.9.0 至 2.12.0
moment().isBetween(moment-like, moment-like);
moment().isBetween(moment-like, moment-like, String);
// 其中 moment-like 是 is Moment|String|Number|Date|Array

检查一个 moment 是否在其他两个 moment 之间,可选地检查指定的单位刻度(分钟,小时,日期等)。 这个匹配是排他的。 前两个参数会被解析为 moment(如果尚未解析)。

moment('2010-10-20').isBetween('2010-10-19', '2010-10-25'); // true
moment('2010-10-20').isBetween('2010-10-19', undefined); // true, 因为 moment(undefined) 等效于 moment()

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

moment('2010-10-20').isBetween('2010-01-01', '2012-01-01', 'year'); // false
moment('2010-10-20').isBetween('2009-12-31', '2012-01-01', 'year'); // true

moment#isSamemoment#isBeforemoment#isAfter 一样,moment#startOf 支持的任何时间单位也适用于 moment#isBetween。 年份、月份、星期、ISO星期、日期、小时、分钟、秒钟。

2.13.0 版本引入了包容性。 [ 表示包含。 ( 表示排除。 如果使用包容性参数,则必须传入两个指示符。

moment('2016-10-30').isBetween('2016-10-30', '2016-12-30', null, '()'); //false
moment('2016-10-30').isBetween('2016-10-30', '2016-12-30', null, '[)'); //true
moment('2016-10-30').isBetween('2016-01-01', '2016-10-30', null, '()'); //false
moment('2016-10-30').isBetween('2016-01-01', '2016-10-30', null, '(]'); //true
moment('2016-10-30').isBetween('2016-10-30', '2016-10-30', null, '[]'); //true

注意,如果 fromto 参数相同,但包容性参数不同,则将会返回 false。

moment('2016-10-30').isBetween('2016-10-30', '2016-10-30', null, '(]'); //false

如果未指定包容性参数,则 Moment 将会默认为 ()

//From 2.13.0 onward
moment().isBetween(moment-like, moment-like);
moment().isBetween(moment-like, moment-like, String);
moment().isBetween(moment-like, moment-like, String, String);
// where moment-like is Moment|String|Number|Date|Array

//2.9.0 to 2.12.0
moment().isBetween(moment-like, moment-like);
moment().isBetween(moment-like, moment-like, String);
// where moment-like is Moment|String|Number|Date|Array

Check if a moment is between two other moments, optionally looking at unit scale (minutes, hours, days, etc). The match is exclusive. The first two arguments will be parsed as moments, if not already so.

moment('2010-10-20').isBetween('2010-10-19', '2010-10-25'); // true
moment('2010-10-20').isBetween('2010-10-19', undefined); // true, since moment(undefined) evaluates as moment()

If you want to limit the granularity to a unit other than milliseconds, pass the units as the third parameter.

moment('2010-10-20').isBetween('2010-01-01', '2012-01-01', 'year'); // false
moment('2010-10-20').isBetween('2009-12-31', '2012-01-01', 'year'); // true

Like moment#isSame, moment#isBefore, moment#isAfter any of the units of time that are supported for moment#startOf are supported for moment#isBetween. Year, month, week, isoWeek, day, hour, minute, and second.

Version 2.13.0 introduces inclusivity. A [ indicates inclusion of a value. A ( indicates exclusion. If the inclusivity parameter is used, both indicators must be passed.

moment('2016-10-30').isBetween('2016-10-30', '2016-12-30', null, '()'); //false
moment('2016-10-30').isBetween('2016-10-30', '2016-12-30', null, '[)'); //true
moment('2016-10-30').isBetween('2016-01-01', '2016-10-30', null, '()'); //false
moment('2016-10-30').isBetween('2016-01-01', '2016-10-30', null, '(]'); //true
moment('2016-10-30').isBetween('2016-10-30', '2016-10-30', null, '[]'); //true

Note that in the event that the from and to parameters are the same, but the inclusivity parameters are different, false will preside.

moment('2016-10-30').isBetween('2016-10-30', '2016-10-30', null, '(]'); //false

If the inclusivity parameter is not specified, Moment will default to ().