Moment JS如何设置两个日期之间等于?

时间:2019-05-22 16:07:13

标签: javascript momentjs

嗨,我想检查给定的日期是否在2个日期之间,当然还有几个小时。因此,如果我们检查13:00是否在13:00和15:00之间,我想成为现实。

我有此代码:

df3 = pd.DataFrame({'A': ['1', '1', '1', '2', '2', '2'], 
                       'B': ['a', 'b', 'c', 'a', 'b', 'c']})

所以我正在检查它是否介于两者之间,但是很奇怪。

如果我将startDayTime = 14:59和endDayTime = 17:00设置为小时 而timeSlotStartTime是14:15仍然让我信服。(这是更大的问题)

并且如果timeSlotStartTime = 17:00给我错误(我想让我成为真的)

我是否有可能在2分钟之内检查之间是否相等?

谢谢

2 个答案:

答案 0 :(得分:-1)

https://momentjscom.readthedocs.io/en/latest/moment/05-query/06-is-between/

您可以使用第4个参数包含边线

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

方括号中的意思是“包括这个目的”,括号中的意思是“排除这个目的”

答案 1 :(得分:-1)

isBetween使用第三个参数(分钟,小时,天等)和第四个参数[]来包含包容性

由于您正在比较分钟

,因此应将第三个参数传递为“分钟”
var timeSlotStartTime  = moment({ hour:14, minute:15 });
var startDayTime  = moment({ hour:14, minute:59 });
var endDayTime   = moment({ hour:17, minute:00 });


var result = timeSlotStartTime.isBetween(startDayTime, endDayTime, 'minutes', '[]');

console.log(result); // false

isBetween比赛也是排他性比赛。

moment('2010-10-20').isBetween('2010-01-01', '2012-01-01', 'year'); // false as it is exclusive

2.13.0版引入了包容性。 [表示包含值。 (表示排除。如果使用inclusivity参数,则必须同时传递两个指标。

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