嗨,我想检查给定日期是否在两个日期之间,当然还有几个小时。因此,如果我们检查 13:00 是否在 13:00 和 15:00 之间,我希望得到正确的结果。
我有这个代码:
let timeSlotStartTime = moment.utc(timeSlot.startTime);
let startDayTime = moment.utc(timeSlotStartTime.format('YYYY-MM-DD') + "T" + moment.utc(condition.parameters.timeFrom).format('HH:mm:00'));
let endDayTime = moment.utc(timeSlotStartTime.format('YYYY-MM-DD') + "T" + moment.utc(condition.parameters.timeTo).format('HH:mm:59'));
return timeSlotStartTime.isBetween(startDayTime, endDayTime);
所以我正在检查它是否介于两者之间,但它的工作原理很奇怪。
如果我设置 startDayTime = 14:59 和 endDayTime = 17:00 的时间
和 timeSlotStartTime 是 14:15 它仍然给我真实的。(这是更大的问题)
如果 timeSlotStartTime = 17:00 给我假(我想给我真)
有没有可能我可以在 2 分钟内检查和相等?
谢谢
最佳答案
https://momentjscom.readthedocs.io/en/latest/moment/05-query/06-is-between/
您可以使用第四个参数来包含边
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
其中方括号表示“包括此端”,括号表示“排除此端”
关于javascript - Moment JS如何设置两个日期之间是否相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56260985/