javascript - Moment JS如何设置两个日期之间是否相等?

标签 javascript momentjs

嗨,我想检查给定日期是否在两个日期之间,当然还有几个小时。因此,如果我们检查 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/

相关文章:

javascript - 为什么不相关的变量会影响另一个变量? moment.js

ios - 使用 Moment Tz 格式化日期

javascript - 使用 Moment.js 在 JS 中格式化日期

javascript - Moment 将日期转换为查找查询的字符串和聚合查询的对象。如何以及为什么?

javascript - 是否有 iTunes javascript api

javascript - 对 ExtJS TreePanel 中的列进行排序会更改节点记录的顺序,而不仅仅是叶子

javascript - 无法在 React 中安装 "useHistory"

javascript - 如何使用 curl -d body 将 cURL 请求转换为 ajax

php - 将 XMLHttpRequest.responseText 存储为变量 :(

package - 将 moment.js 和 account.js 等包添加到meteor项目中