Momentjs Range返回False

时间:2017-09-14 16:32:57

标签: javascript momentjs

我尝试使用Moment使用Moment Range插件查看日期是否介于2个日期之间: https://github.com/rotaready/moment-range#contains

出于某种原因,我的代码总是抛出False。以下是输出的示例:

  

START:2015-01-01 00:00:00 END:2017-08-01 00:00:00停止营业时间:2017-06-08   17:59:56决定:假

你可以清楚地看到这里的关闭日期介于开始日期和结束日期之间,但我被告知它没有

这是我的代码:

let end = moment('2017-08-01 00:00:00').format('YYYY-MM-DD HH:mm:ss')
let start = moment('2015-01-01 00:00:00').format('YYYY-MM-DD HH:mm:ss')
let closedDate = moment('2017-06-08 17:59:56').format('YYYY-MM-DD HH:mm:ss')
let range = moment.range(start, end)

console.log(`START:`,start,'END:',end,'CLOSED:',closedDate,'DECISION:',range.contains(closedDate));

1 个答案:

答案 0 :(得分:1)

我设法使用within函数修复了这个问题,并且还改变了我设置矩形对象的方式

let end = moment('2017-08-01 00:00:00', 'YYYY-MM-DD HH:mm:ss')
let start = moment('2015-01-01 00:00:00', 'YYYY-MM-DD HH:mm:ss')
let closedDate = moment('2017-06-08 17:59:56','YYYY-MM-DD HH:mm:ss')
let range = moment.range(start, end)
console.log(`START:`,start,'END:',end,'CLOSED:',closedDate,'DECISION:',closedDate.within(range));